Форум сайта python.su
Добрый вечер, я начинающий программист и учусь по книге 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. Заранее благодарю за помощь.
Офлайн
И как ваш код читать?
[code python]код[/code]
Отредактировано m1r42 (Янв. 19, 2023 21:07:28)
Офлайн
m1r42Всмысле? Не особо понимаю, понятно же вроде код написал.
И как ваш код читать?
Офлайн
[code]между этими тегами ваш код[/code]
Офлайн
PukiKaka1Не надо писать int(input()). Пиши сначала input(), потом проверяй и делай break. А если break не сделан, то тогда уже делай int().
Так вот, как вставить в задачу brake-слово?
>>> 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 >>>
Офлайн
py.user.nextСпасибо
Офлайн
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('Нет, у Максима было меньше конфет')
Офлайн
indiwiduumТам напишут в ответ слово “три” и программа выпадет, потому что попытается строку “три” передать в int(). А должна проверить, написали ли там число. Если написали слово, надо вывести “напишите число” и повторить ввод. Если написали число, то надо просто передать число в int() и работать дальше.candy = int(input('Сколько в итоге конфет вышло у Максима '))
>>> 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: 'шесть' >>>
Отредактировано py.user.next (Янв. 20, 2023 22:51:33)
Офлайн
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('Ответ необходимо записать числом')
Офлайн