while True:
luckyNo = input("Enter your lucky number - [default:108]: ").strip()
if luckyNo.isdigit(): # check if user entered a number
luckyNo = int(luckyNo) # convert entered number to integer
break
else:
if not luckyNo: # user entered nothing
print("You entered nothing. Using default value...")
luckyNo = 108 # set default value
break
else: # user entered something other than a number
print("Wrong input!. Try again.")
print("Your lucky number is " + str(luckyNo))
7条答案
按热度按时间k97glaaz1#
巨蟒3:
巨蟒2:
它是如何工作的?
如果没有输入,
input
/raw_input
返回空字符串。Python中的空字符串是False
,bool("") -> False
。运算符or
返回第一个真值,在本例中是"42"
。这不是复杂的输入验证,因为用户可以输入任何内容,例如十个空格符号,然后将是
True
。ru9i0ody2#
你可以这样做:
olmpazwi3#
一种方法是:
另一种方式可以是:
同样的方法也适用于Python 3,但是使用
input()
:o75abkj44#
您也可以使用
click
library来实现这一点,它为命令行界面提供了许多有用的功能:输入示例:
或
wtlkbnrh5#
您可以先输入一个字符串,然后检查零长度和有效数字:
sf6xfgos6#
上面的大多数答案都是正确的,但是对于Python 3.7,下面是你可以设置默认值的方法。
hmtdttj47#
下面是一个示例,用于验证用户输入是否为数字,并在用户未输入任何内容时设置默认值。