Python中验证用户的输入是否正确(python判断用户输入的类型)

Python编程中经常需要用户输入数据,我们不仅想获得用户输入,还想确保输入正确的类型。通过在处理之前先检查用户的输入,进一步避免程序中的错误,在因输入问题导致程序崩溃之前进行处理。

那么我们将如何做到这一点呢?我们检查输入,如果它有效,则返回它。如果它无效,应该告诉用户,然后请用户重新输入。换句话说,我们希望继续提出问题,直到我们得到正确的答案。这样就需要一个循环,如果用户输入正确,跳出循环。

用伪代码描述这个过程:

while True:
     m=input('请输入:')
     if 输入正确:
         break
     print('输入错误。')

使用条件True设置无限循环直到break中断跳出。从用户那里获得输入,使用 if 语句来检查有效性,如果输入正确,跳出循环,

否则,告诉用户输入错误,继续循环,重新输入。

示例:

fruit=['苹果','香蕉','芒果']
while True:
     m=input("你喜欢吃'苹果'?'香蕉'?'芒果'?")
     if m in fruit:
         break
     print("输入错误。请重新输入!")
print("我也喜欢吃{}。".format(m))

输出:

你喜欢吃'苹果'?'香蕉'?'芒果'?菠萝

输入错误。请重新输入!

你喜欢吃'苹果'?'香蕉'?'芒果'?桔子

输入错误。请重新输入!

你喜欢吃'苹果'?'香蕉'?'芒果'?芒果

我也喜欢吃芒果。


示例:

#要求用户输入一个正整数
while True:
     num=input('请输入一个正整数: ')
     if num.isdigit():
         number=int(num)
         break
     print(num,'不是一个数,请重新输入!')
print('你输入的正整数是:',number)

输出:

请输入一个正整数: 1.5

1.5不是一个正整数,请重新输入!

请输入一个正整数: 2.0

2.0不是一个正整数,请重新输入!

请输入一个正整数: 2

你输入的正整数是: 2


Python isdigit() 方法检测字符串是否只由数字组成,只对 0 和 正数有效。上面的示例只能接受输入0和正整数,不能输入负数和浮点数。

我们可改进代码,如果想要一个浮点数,使用if语句会显得复杂,我们使用try/except 块来做到这一点:

while True:
     num=input('请输入一个数: ')
     try:
         number = float(num)
         break
     except ValueError:
         print(num,'不是一个数,请重新输入!')
print('你输入的数是:',number)

输出:

请输入一个数: abc

abc 不是一个数,请重新输入!

请输入一个数: 3.14

你输入的数是: 3.14

感谢阅读,关注我,精彩继续!

相关文章

python入门到脱坑 输入与输出—input()函数

以下是针对Python初学者的input()函数完整指南,包含基础用法、安全注意事项和实用技巧:一、基础用法1. 接收用户输入name = input("请输入你的名字:") # 提...

Excel数据分析——数据输入(输入数据分析后得到什么结果)

巧妇难为无米之炊。数据分析师的米就是数据。作为一名数据分析师,通常有自己常用的数据来源。比如公司业务平台产生的数据,也可以是去从公开网站抓取的数据,甚至是纸质的或脑中记忆的数据。无论原来的数据在哪里,...

只用3行Python代码,获取星期几?(python 获取星期)

大家好,我是皮皮。一、前言前几天在Python最强王者交流群分享了一个只用3行Python代码,获取星期几的问题,这里拿出来给大家分享下,一起学习下。看到这个代码,我当时的第一反应是,这个人基础学的还...

简单学Python——基本运算和input函数

Python的基本运算包括加减乘除、取模、取整等。加减乘除与我们小学数学所学习的一样,运算符号分别是“+”、“-”、“*”、“/”。取模是返回除法的余数,符号为“%”,例如9%2=1。取整是往小的方向...

自学Python自动化办公:PyCharm无法定位程序输入点解决办法

在安装PyCharm后,点击打开时提示无法定位程序输入点 CreateAppContainerProfle 于动态链接库USERENV.dII 上. 我通过百度发现是版本问题,我安装的版本是PyCha...