【问题标题】:In python, if the user enters a string instead of number (integer value) then how can we show message to user that input is invalid? [duplicate]在 python 中,如果用户输入的是字符串而不是数字(整数值),那么我们如何向用户显示输入无效的消息? [复制]
【发布时间】:2022-11-19 01:51:03
【问题描述】:
var=int(input("Enter anything ==>"))
if(var%2==0): 
    print(var," is a Even number")
elif((var>="a" and var<="z") or (var>="A" and var<="Z")):
    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\桌面\所有桌面 应用\Python>python 输入.py
输入输入代码一切==>6
6 是偶数 数字

C:\Users\HP\OneDrive\Desktop\All Desktop apps\Python>python 输入.py
输入任何内容 ==>sdsd
追溯(最近的电话 最后的):
文件“C:\Users\HP\OneDrive\Desktop\All Desktop apps\Python\input.py”,第 5 行,在 var=int(input("请输入任何内容 ==>"))
ValueError:以 10 为底的 int() 的无效文字:'sdsd'

#如果用户输入任何字母或特殊字符之类的东西,那么我们如何向用户显示输入无效或其无效的消息 字母表或特殊字符或整数或关于特定 数据类型


==> var=int(input("请输入任何内容 ==>"))
==> #var=input("输入任何内容 ==>")




错误代码 -->



输出不正确 -->



使用异常处理更正代码-->



正确输出-->



【问题讨论】:

标签: python


【解决方案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")

【讨论】:

  • 是的,这是正确的答案使用异常处理谢谢
猜你喜欢
  • 2022-12-17
  • 2020-08-09
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多