Ошибка при вводе буквы
congratulation = "Поздравляю вы угадали,\
возьмите пирожок с полки: "
number = 100
running = True
while running:
task = int(input("Угадайте целое число: ") )
if task == number:
print(congratulation)
running = False
elif task < number:
print("Хорошая попытка, но нужное число немого больше")
else:
print("Хорошая попытка, но нужное число немного меньше")
input()
Если вводить буквы или не вводить ничего, появляется ошибка. Как её исправить (я зелёный новичок :)
Ответы (1 шт):
Автор решения: svmitin
→ Ссылка
from random import randint
congratulation = "Поздравляю вы угадали, " \
"возьмите пирожок с полки: "
number = randint(0, 100)
running = True
while running:
print("Угадайте целое число:", end='')
input_is_number = False
task = 0 # чтобы избежать ошибки, если удалишь 'if input_is_number'
# потому что в try при вводе буквы будет ошибка
# а в except мы task не объявляли
try: # блок кода в котором может произойти ошибка
# Буквы нельзя превратить в числа, будет ошибка ValueError
task = int(input())
input_is_number = True
except ValueError: # блок кода, который выполниться в случае ошибки
print('Вы ввели не число')
if input_is_number:
# Если пользователь ввел число
if task == number:
print(congratulation)
running = False
elif task < number:
print("Хорошая попытка, но нужное число немого больше")
else:
print("Хорошая попытка, но нужное число немного меньше")
input()
print('Добро пожаловать на StackOverflow!')