Пожалуйста, помогите сделать, чтобы код принимал только цифры python
модуль:
def summa(a, b):
return a + b
def raznost(a, b):
return a - b
def proizvedenie(a, b):
return a * b
def chastnoe(a, b):
if a==0 or b==0:
print("Деление на 0")
else:
return a / b
summa()
основной файл:
import main
print('Добро пожаловать в консольный калькулятор!')
while True:
print('Введите операцию:')
print('1 - Сложение')
print('2 - Вычитание')
print('3 - Умножение')
print('4 - Деление')
print('0 - Выход')
operation = int(input())
if operation == 0:
break
print('Введите первое число:')
x = int(input())
print('Введите второе число:')
y = int(input())
if operation == 1:
result = main.summa(x, y)
elif operation == 2:
result = main.raznost(x, y)
elif operation == 3:
result = main.proizvedenie(x, y)
elif operation == 4:
result = main.chastnoe(x, y)
else:
print('Ошибка ввода!')
continue
print('Результат: ', result)
Ответы
Відповідь:
Вы можете использовать методы isdigit() или isnumeric() для проверки того, что пользователь вводит только цифры. Вот как это можно сделать:
import main
print('Добро пожаловать в консольный калькулятор!')
while True:
print('Введите операцию:')
print('1 - Сложение')
print('2 - Вычитание')
print('3 - Умножение')
print('4 - Деление')
print('0 - Выход')
operation = input()
if not operation.isdigit():
print('Ошибка ввода! Введите число.')
continue
operation = int(operation)
if operation == 0:
break
print('Введите первое число:')
x = input()
if not x.isdigit():
print('Ошибка ввода! Введите число.')
continue
x = int(x)
print('Введите второе число:')
y = input()
if not y.isdigit():
print('Ошибка ввода! Введите число.')
continue
y = int(y)
if operation == 1:
result = main.summa(x, y)
elif operation == 2:
result = main.raznost(x, y)
elif operation == 3:
result = main.proizvedenie(x, y)
elif operation == 4:
result = main.chastnoe(x, y)
else:
print('Ошибка ввода!')
continue
print('Результат: ', result)
Здесь мы используем метод isdigit() для проверки того, что операция, x и y состоят только из цифр. Если один из них содержит символы, то мы выводим сообщение об ошибке и пропускаем итерацию цикла. Если все в порядке, то преобразуем x и y в целые числа и выполняем операцию.