python如何检测用户输入的是数字还是字符?
a = input()这个语句,不论用户输入的东西,是数字还是文字,都会转化成一个字符串赋值给a。
那么,有什么函数可以检测用户输入的,到底是数字还是字符串吗?
不考虑a= int(input())这种方式,因为这样输入文字程序会报错,我不要程序报错。 a = input()
if a.isdigit():
print("是数字!")
else:
print("不是数字!") a.isalnum()
a.isalpha()
a.isdigit()
第五课的课后习题了解一波
用字符串方法, Python 旧版第五课时甲鱼哥有介绍:
s 为字符串
s.isalnum()所有字符都是数字或者字母,为真返回 True,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 True,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 True,否则返回 False。
这些方法是判断字符串内的字符,是否为某种类型
如果你想判断,是否输入的是整数类型的字符串就可以这么写代码:user_input = input('请输入一个整数:')
while not user_input.isdigit():# 如果输入的不是整数就要重新输入
user_input = input('抱歉,你输入的不是一个整数,请重新输入:')
print('你输入的是一个整数!该整数为:',user_input)
本帖最后由 jackz007 于 2020-7-17 16:04 编辑
当输入内容是负数时,字符串的 isdigit() 方法不能正确识别
楼主试试下面的代码
#-*-coding:gbk-*-
f = False
while True:
s = input('请输入一个整数:') . strip()
if s :
try:
n = int(s)
f = True
break
except:
print('你键入的不是一个有效的整数!\n')
else:
break
if f:
print('你键入的整数是:' , n)
lhgzbxhz 发表于 2020-7-17 15:16
感谢。4楼更全面,所以设置了4楼最佳。还是很感谢{:10_254:}
页:
[1]