Форум сайта python.su
Привет! Хотел сделать программу, которая будет определять, является ли введённое число отрицательным или положительным, но если ввести строку, то вылетит ошибка. Как сделать так, чтобы при вводе строки, программа заставляла пользователя заново вводить число?
Прикреплённый файлы:
123.png (10,3 KБ)
Офлайн
rvcXLBОтдели int() от input() и всё. Сначала делаешь input(), потом проверяешь, что ввелось в качестве строки, число ли это, а потом уже делаешь int().
но если ввести строку, то вылетит ошибка. Как сделать так, чтобы при вводе строки, программа заставляла пользователя заново вводить число?
Офлайн
Если оставить просто input() тогда любое значение, неважно цифры это или буквы, будут записываться как строка, в этом и кроется моя проблема
Офлайн
rvcXLB
Если оставить просто input() тогда любое значение, неважно цифры это или буквы, будут записываться как строка, в этом и кроется моя проблема
text = None while True: print('Введите число') text = input() if text.isdigit(): break elif text[0] in '-+' and text[1:].isdigit(): break else: print('неправильно') number = int(text) print('Число', number) if number < 0: print('меньше нуля') elif number > 0: print('больше нуля') else: print('равно нулю')
>>> def f(): ... text = None ... while True: ... print('Введите число') ... text = input() ... if text.isdigit(): ... break ... elif text[0] in '-+' and text[1:].isdigit(): ... break ... else: ... print('неправильно') ... ... number = int(text) ... ... print('Число', number) ... if number < 0: ... print('меньше нуля') ... elif number > 0: ... print('больше нуля') ... else: ... print('равно нулю') ... >>> f() Введите число abc неправильно Введите число def неправильно Введите число -a неправильно Введите число 0a неправильно Введите число -123 Число -123 меньше нуля >>>
Отредактировано py.user.next (Сен. 24, 2023 20:00:54)
Офлайн