📅  最后修改于: 2023-12-03 14:49:16.160000             🧑  作者: Mango
在编写程序时,往往需要强制要求用户输入正数。这样可以避免负数或零导致的程序异常或错误的结果。本文将介绍几种方法来实现仅输入正数的需求。
while True:
num = input("请输入正数:")
if num.isdigit() and int(num) > 0:
break
print("输入的正数为:", num)
该方法使用 while
循环不断询问用户输入,直到输入的是正数为止。其中 isdigit()
函数用于判断输入是否为数字,int()
函数用于将字符串转换为整数类型。
import re
while True:
num = input("请输入正数:")
if re.match("^[1-9]\d*$", num):
break
print("输入的正数为:", num)
该方法使用正则表达式来判断输入是否为正数。正则表达式 ^[1-9]\d*$
表示以1~9(不包括0)开头,后面跟0个或多个数字的字符串。
while True:
try:
num = int(input("请输入正数:"))
if num > 0:
break
except ValueError:
pass
print("输入的正数为:", num)
该方法使用异常处理来捕获用户输入非数字的情况。如果输入的是非数字,int()
函数将抛出 ValueError
异常,使用 pass
语句忽略该异常,继续循环询问用户输入。如果输入的是数字但不是正数,则 if
语句不成立,继续循环询问用户输入。
以上三种方法均可以实现仅输入正数的需求,具体使用哪种方法取决于实际情况和个人喜好。