Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2023 18:13:49

PukiKaka1
Зарегистрирован: 2023-01-19
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

Добрый вечер, я начинающий программист и учусь по книге 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. Заранее благодарю за помощь.

Офлайн

#2 Янв. 19, 2023 21:07:00

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

И как ваш код читать?

[code python]код[/code]

Отредактировано m1r42 (Янв. 19, 2023 21:07:28)

Офлайн

#3 Янв. 19, 2023 21:12:28

PukiKaka1
Зарегистрирован: 2023-01-19
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

m1r42
И как ваш код читать?
Всмысле? Не особо понимаю, понятно же вроде код написал.

Офлайн

#4 Янв. 19, 2023 21:26:32

m1r42
Зарегистрирован: 2022-07-26
Сообщения: 133
Репутация: +  7  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

[code]между этими тегами ваш код[/code]

Офлайн

#5 Янв. 19, 2023 22:13:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9863
Репутация: +  853  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

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
>>>



Офлайн

#6 Янв. 20, 2023 07:13:36

PukiKaka1
Зарегистрирован: 2023-01-19
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

py.user.next
Спасибо

Офлайн

#7 Янв. 20, 2023 20:56:37

indiwiduum
Зарегистрирован: 2022-12-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

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('Нет, у Максима было меньше конфет')

Офлайн

#8 Янв. 20, 2023 22:50:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9863
Репутация: +  853  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

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: 'шесть'
>>>



Отредактировано py.user.next (Янв. 20, 2023 22:51:33)

Офлайн

#9 Янв. 21, 2023 12:58:31

indiwiduum
Зарегистрирован: 2022-12-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вставить brake-слово в int(input())?

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('Ответ необходимо записать числом')

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version