Как заставить программу повторно просить ввести цифру при вводе любого другого символа?

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

Нужно чтобы программа при вводе любого символа кроме цифры писала "Неправильно заданы значения" и снова просила ввести цифру.Должен использовать цикл while. Код:

fnum=input("Введите 1 число : ")
try:
    int(fnum)
except ValueError:
    try:
        float(fnum)
    except ValueError:
        print("Неправильно заданы значения")
snum=input("Введите 2 число: ")
try:
    int(snum)
except ValueError:
    try:
        float(snum)
    except ValueError:
        print("Неправильно заданы значения")
arif=input("Введите арифметический знак: ")
if arif=="*":
    print(fnum*snum)
if arif=="/":
    print(fnum/snum)
if arif=="-":
    print(fnum-snum)
if arif=="+":
    print(fnum+snum)
else:
    print("Неправильно заданы значения")
    

Ответы

▲ -2Принят

Используйте этот код:

while True:
    fnum=input("Введите 1 число : ")
    try:
        int(fnum)
        break
    except ValueError:
        try:
            float(fnum)
            break
        except ValueError:
            print("Неправильно заданы значения")
while True:
    snum=input("Введите 2 число: ")
    try:
        int(snum)
        break
    except ValueError:
        try:
            float(snum)
            break
        except ValueError:
            print("Неправильно заданы значения")
while True:
    arif=input("Введите арифметический знак: ")
    if arif=="*":
        print(float(fnum)*float(snum))
        break
    elif arif=="/":
       print(float(fnum)/float(snum))
        break
    elif arif=="-":
        print(float(fnum)-float(snum))
        break
    elif arif=="+":
        print(float(fnum)+float(snum))
        break
    else:
        print("Неправильно заданы значения")