Как проверить ввод числа, а не цифры в моей программе?
Написал программу калькулятор систем счислений, решил проверить на ошибки и столкнулся с тем, что при вводе букв или иных символов кроме цифр, моя программа вылетала. Как можно это решить?
import sys
print("Привет! Это программа создана для перевода из десятичной системы в любые другие системы счисления")
print("")
while True:
a = int(input("Введите число которое хотите конвертировать: "))
if a == 0:
print("Ошибка, введите число ещё раз")
continue
n = int(input("Введите систему в которую хотите перевести число: "))
if n == 0:
print("Неверная система счисления, введите другую кроме 0")
continue
s = ""
while a > 0:
s = str(a % n) + s
a //= n
print(s)
cnt = int(input(('Введите 1, что бы продолжить или 0 для завершения работы: ')))
if cnt == 0:
break
elif cnt != 1:
break
sys.exit()
Ответы (1 шт):
Автор решения: Andrei
→ Ссылка
Нужно не сразу конвертировать в int ввод пользователя, а для начала проверить, что ввел пользователь. Можно проверить вот так:
while True:
num = input('Enter number: ')
if num.isdigit():
num = int(num)
break
print(f'Thanks, number: {num}')