Найти - Пользователи
Полная версия: Как вставить brake-слово в int(input())?
Начало » Python для новичков » Как вставить brake-слово в int(input())?
1
PukiKaka1
Добрый вечер, я начинающий программист и учусь по книге Byte of Phyton. Сегодня узнал про функцию brake и решил вставить её в свою задачу.
Вот она:
a = 2
guess = 6
name = ‘Максим’
running = True

print('У {0}'.format(name), end= ‘ ’)
print('было',a,' конфеты. 2 дня подряд он получал по 2 конфеты в день.')

while running:
candy = int(input('Сколько в итоге конфет вышло у Максима ‘))
if candy == guess :
print(’Верно, у Максима вышло 6 конфет.')
running = False
elif candy < guess :
print('Нет, у Максима вышло больше конфет')
else :
print('Нет, Максима было меньше')
else:
print('Цикл While завершён')
print('Задача решена.')

Так вот, как вставить в задачу brake-слово? К примеру ‘Стоп’ или ‘Выход’? У меня стоит Windows 10 64bit. Версия phyton 3.11. Заранее благодарю за помощь.
m1r42
И как ваш код читать?
[code python]код[/code]
PukiKaka1
m1r42
И как ваш код читать?
Всмысле? Не особо понимаю, понятно же вроде код написал.
m1r42
[code]между этими тегами ваш код[/code]
py.user.next
PukiKaka1
Так вот, как вставить в задачу brake-слово?
Не надо писать int(input()). Пиши сначала input(), потом проверяй и делай break. А если break не сделан, то тогда уже делай int().
  
>>> def f():
...     while True:
...         text = input('Enter number (or quit): ')
...         if text == 'quit':
...             break
...         number = int(text)
...         print('number =', number)
... 
>>> f()
Enter number (or quit): 123
number = 123
Enter number (or quit): 456
number = 456
Enter number (or quit): quit
>>>
PukiKaka1
py.user.next
Спасибо
indiwiduum
a = 2
guess = 6
name = 'Максим'

print(f'У {name} было {a} конфеты. 2 дня подряд он получал по 2 конфеты в день.')

while True:
candy = int(input('Сколько в итоге конфет вышло у Максима '))
if candy == guess :
print('Верно, у Максима вышло 6 конфет.')
break
elif candy < guess:
print('Нет, у Максима вышло больше конфет')
else:
print('Нет, у Максима было меньше конфет')
py.user.next
indiwiduum
  
candy = int(input('Сколько в итоге конфет вышло у Максима '))
Там напишут в ответ слово “три” и программа выпадет, потому что попытается строку “три” передать в int(). А должна проверить, написали ли там число. Если написали слово, надо вывести “напишите число” и повторить ввод. Если написали число, то надо просто передать число в int() и работать дальше.

Вот так это выглядит
  
>>> a = 2
>>> guess = 6
>>> name = 'Максим'
>>> 
>>> print(f'У {name} было {a} конфеты. 2 дня подряд он получал по 2 конфеты в день.')
У Максим было 2 конфеты. 2 дня подряд он получал по 2 конфеты в день.
>>> 
>>> while True:
...     candy = int(input('Сколько в итоге конфет вышло у Максима '))
...     if candy == guess :
...         print('Верно, у Максима вышло 6 конфет.')
...         break
...     elif candy < guess:
...         print('Нет, у Максима вышло больше конфет')
...     else:
...         print('Нет, у Максима было меньше конфет')
... 
Сколько в итоге конфет вышло у Максима шесть
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ValueError: invalid literal for int() with base 10: 'шесть'
>>>
indiwiduum
py.user.next

Такой вариант:

a = 2
guess = 6
name = 'Максим'

print(f'У {name} было {a} конфеты. 2 дня подряд он получал по 2 конфеты в день.')

while True:
candy = input('Сколько в итоге конфет вышло у Максима ')
if candy.isdigit():
if int(candy) == guess :
print('Верно, у Максима вышло 6 конфет.')
break
elif int(candy) < guess:
print('Нет, у Максима вышло больше конфет')
else:
print('Нет, у Максима было меньше конфет')
else: print('Ответ необходимо записать числом')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB