Как проверить ввод числа, а не цифры в моей программе?

Рейтинг: 0Ответов: 1Опубликовано: 08.01.2023

Написал программу калькулятор систем счислений, решил проверить на ошибки и столкнулся с тем, что при вводе букв или иных символов кроме цифр, моя программа вылетала. Как можно это решить?

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

Ответы

▲ 0Принят

Нужно не сразу конвертировать в int ввод пользователя, а для начала проверить, что ввел пользователь. Можно проверить вот так:

while True:
    num = input('Enter number: ')
    if num.isdigit():
        num = int(num)
        break

print(f'Thanks, number: {num}')