В python, если пользователь вводит строку вместо числа (целочисленное значение), то как мы можем показать пользователю сообщение о том, что ввод недействителен?

# если пользователь вводит что-то вроде любого алфавита или специального символа, то как мы можем показать сообщение пользователю, если ввод недействителен, или это алфавит, или специальный символ, или целое число, или о конкретном типе данных

# ==> var=int(input("Введите что-нибудь ==>"))
# ==> #var=input("Введите что-нибудь ==>")

КОД
var=int(input("Enter anything ==>"))
#it will stop here bcz every input is consider as a string
if (var%2==0):
print(var," is a Even number")
elif ((var> = "a" and var = "A" and var print(var," is String")
print("Enter a number to find it is even or odd")
else:
print(var," is a Odd number")

ВЫХОД
C:\Users\HP\OneDrive\Desktop\Все приложения для рабочего стола\Python>python input.py
Введите что-нибудь ==> 6
6 - четное число

C:\Users\HP\OneDrive\Desktop\Все приложения для рабочего стола\Python>python input.py
Введите что-нибудь ==> sdsd
Отслеживание (последний последний вызов):
Файл «C:\Users\HP\OneDrive\Desktop\All Desktop apps\Python\input.py», строка 5, в var=int(input("Введите что-нибудь ==>"))
ValueError: неверный литерал для int() с основанием 10: 'sdsd'


Неверный код

Неверный вывод

Исправьте код, используя обработку исключений

Правильный ВЫВОД

Пожалуйста, не загружайте изображения кода/ошибок, когда задаете вопрос. Включите его как форматированный блок кода вместо изображения. Пожалуйста, также задать конкретный вопрос! Что не так с вашим кодом? Он выходит, ничего не делая? Он делает что-то не так? Вы делали отладка? Пожалуйста, прочтите Как спросить и контрольный список вопросов
Pranav Hosangadi 22.03.2022 16:29

ок спасибо за предложения

Shubham-Misal 23.03.2022 15:39
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
2
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Самый простой способ try/except:

var = input("Enter anything ==>")
try:
    if int(var) % 2:  
        print(f"{var} is an odd number")
    else:
        print(f"{var} is an even number")
except ValueError:
    print(f"{var} is not a number")

Если вы хотите повторно подсказывать пользователю, когда он вводит что-то, кроме числа, поместите все это в цикл while и break, когда они введут действительное число.

while True:
    var = input("Enter anything ==>")
    try:
        if int(var) % 2:  
            print(f"{var} is an odd number")
        else:
            print(f"{var} is an even number")
        break
    except ValueError:
        print(f"{var} is not a number")

Да, это правильный ответ. Использование обработки исключений. Спасибо.

Shubham-Misal 22.03.2022 18:39

Другие вопросы по теме