Предмет: Другие предметы, автор: dasasddasadsasd

Пожалуйста, помогите сделать, чтобы код принимал только цифры 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)


t304257: Какой это придмет?

Ответы

Автор ответа: Miа16
0

Відповідь:

Вы можете использовать методы 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 в целые числа и выполняем операцию.

Похожие вопросы
Предмет: Английский язык, автор: narezkisimbochka
Предмет: Алгебра, автор: nikaokey228