今天在做猜数字游戏中,需要有数字输入,并判断输入内容:
guess_num = int(input('请输入你猜的数字:'))
if 1 <= guess_num <= 10:
...
else:
print('违法输入')
在输入时,输入标点、小数、字符串时,产生如下报错:
原因是int()函数不能将字符型、浮点型等转为整型,而产生报错。上述代码对输入内容的判断很局限,仅限于整型,如果输入的不是整型怎么办?这里就需要用到isdigit()方法:
isdigit() 方法检测字符串是否只由数字组成,只对 0 和 正数有效。实例如下:
str = '123456'
print (str.isdigit())
str = 'abcdef'
print (str.isdigit())
str = '-1'
print (str.isdigit())
实例输出结果为:
因此可以用isdigit()函数来对输入内容做判断:
str = input('请输入你猜的数字:')
if str.isdigit():
guess_number = int('str')
同样的方法还有:
isalpha()方法检测字符串是否只由字母组成;
islower()方法检测字符串是否都是小写;
isupper()方法检测字符串是否都是大写;
isalnum()方法检测字符串是否只由字母或数字组成;
isprintable()方法检测字符串中所有字符是否都是可打印字符或者字符串是否为空。