【目录】
1. isdigit()方法概述
2. 判断输入的字符串是否全为数字
3. 判断输入的邮编是否全为数字
4. 在数字转换为整型前进行判断
【正文】
1. isdigit()方法概述
【功能】
isdigit()
是Python中的一个字符串方法。
作用是判断字符串是否只由数字组成
。
【语法】
字符串.isdigit()
【温馨提示】
括号内不需要提供参数。
【返回值】
如果字符串中只包含数字,则返回True,否则返回False。
2. 判断输入的字符串是否全为数字
【代码示例】
str1 = "12345"
str2 = "abc123"
# isdigit()函数用于检查字符串是否只包含数字字符
# 语法:字符串.isdigit()
# 字符串"12345"只包含数字字符,则返回True
# 字符串"abc123"包含数字也包含英文字符,返回False
print(str1.isdigit()) # 输出:True
print(str2.isdigit()) # 输出:False
【终端输出】
True
False
3. 判断输入的邮编是否全为数字
【代码示例】
# 无限循环,当条件为True时,会一直执行循环体内的代码
while True:
# 接收用户输入的邮编,并将其赋值给变量str1
str1 = input("请输入邮编:")
# 使用字符串的isdigit()方法来判断用户输入的邮编是否只包含数字
# 判断结果赋值给变量user_input
# 如果邮编只包含数字,则返回True,否则返回False
user_input = str1.isdigit( )
# 如果邮编只包含数字,则返回True,执行if下面的代码
if user_input == True:
print("输入正确!")
# break用于跳出循环,即结束程序的执行
break
# 如果用户输入的邮编不只包含数字,则执行下面的代码块
else:
print("邮编应全为数字,您输入的邮编包含其它字符,请重新输入!")
这段代码的作用是不断循环,直到用户输入的邮编只包含数字为止。
如果用户输入的邮编包含其他字符,则会提示重新输入。
4. 在数字转换为整型前进行判断
【代码示例】
# 获取用户输入的字符串
# input接收的内容数据类型为字符串类型
str1 = input("请输入数字:")
# 用int函数将字符串转换为整数并打印出来
num = print(int(str1))
【终端输出】
ValueError: invalid literal for int() with base 10: '安迪'
终端输入:安迪
程序报错:invalid literal for int() with base 10: '安迪'
意思是安迪
是无效的int文本。
将数字转换为整型时,如果用户输入的不是数字,那么在使用int( )函数进行转换时将出现错误提示。
此时可以通过isdigit( )判断用户输入的是否为全数字,
如果是数字则转换为整型。
否则提示用户重新输入。
代码优化如下:
【代码示例】
# 无限循环,当条件为True时,会一直执行循环体内的代码
while True:
# 接收用户输入的数字,并将其赋值给变量str1
str1 = input("请输入数字:")
# 使用字符串的isdigit()方法来判断输入是否全为数字
# 判断结果赋值给变量user_input
# 如果邮编只包含数字,则返回True,否则返回False
user_input = str1.isdigit( )
# 如果只包含数字,则返回True,执行if下面的代码
if user_input == True:
# 用int函数将字符串转换为整数
num = int(str1)
print(num)
# break用于跳出循环,即结束程序的执行
break
# 如果用户输入的不只包含数字,则执行下面的代码块
else:
print("不是数字,请重新输入!")