Дополнен 4 дня назад
мне удалось решить проблему, добавив в код 2 флага:
aflag = True
bflag = True
a = input('Введите первое число: ')
while aflag:
try:
a = int(a)
aflag = False
except ValueError:
a = input('Вы ввели не число, введите первое число заново: ')
b = int(input('Введите второе число: '))
while bflag:
try:
b = int(b)
bflag = False
except ValueError:
b = input('Вы ввели не число, введите второе число заново: ')
Код:
import time
print('*'* 30, 'Калькулятор v1.0', '*' * 30)
oper = input('Выберите операцию(*, /, +, -, ^): ')
while oper not in '+-*/^' or oper == '':
oper = input('Выберите операцию(*, /, +, -, ^): ')
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
flag = True
while flag:
if oper == '*':
print('Результат умножения чисел: ', a*b)
elif oper == '/':
print('Результат деления чисел: ', a/b)
elif oper == '+':
print('Результат сложения чисел: ', a+b)
elif oper == '-':
print('Результат вычитания чисел: ', a+b)
elif oper == '^':
print('Результат возведения первого числа в степень второго числа: ', a**b)
time.sleep(2)
command = input('Продолжить вычисления (y/n)? ')
if command == 'n':
flag = False
if command == 'y':
oper = input('Выберите операцию(*, /, +, -): ')
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))