这是关于验证用户输入的,我正在做一个教程,但不明白他为什么定义下面的内容
This is about validating user input, i was doing a tutorial and didnt understand why he had defined the below
下面是代码。我不明白的是他在初始部分定义了 3 件事。
选择,acceptable_range 和 within_range.
他为什么要定义within_range?
def user_choice():
#Variables
# Initial
choice ='thiscanbeanything'
acceptable_range = range(0,10)
within_range = False
#Two condition to check
#Digit or within range = False
while choice.isdigit() == False or within_range==False:
choice = input("Please enter a number (0-10): ")
#Digit check
if choice.isdigit() == False:
print("sorry that is not a digit!")
#Range check
if choice.isdigit() == True:
if int(choice) in acceptable_range:
within_range = True
else:
print("sorry, you are out of acceptable range")
within_range = False
return int(choice)
within_range 的目的是在用户未提供所需条件的情况下保持 while 循环功能继续运行。如果提供的值不在 0-10 范围内或者是 non-digit,它会提示用户重新输入。
如果没有定义within_range
,就不会进入while
循环,需要先定义为false才能进入循环。进入循环后,此值将根据 choice
值(使用 input
函数)
定义
如果您的选择不在可接受的范围内,循环会要求您重新输入数字。
如果您的选择在可接受的范围内,那么循环将结束,因为在代码中 within_range
将为真。
如果不使用within_range,循环不会结束。
下面是代码。我不明白的是他在初始部分定义了 3 件事。 选择,acceptable_range 和 within_range.
他为什么要定义within_range?
def user_choice():
#Variables
# Initial
choice ='thiscanbeanything'
acceptable_range = range(0,10)
within_range = False
#Two condition to check
#Digit or within range = False
while choice.isdigit() == False or within_range==False:
choice = input("Please enter a number (0-10): ")
#Digit check
if choice.isdigit() == False:
print("sorry that is not a digit!")
#Range check
if choice.isdigit() == True:
if int(choice) in acceptable_range:
within_range = True
else:
print("sorry, you are out of acceptable range")
within_range = False
return int(choice)
within_range 的目的是在用户未提供所需条件的情况下保持 while 循环功能继续运行。如果提供的值不在 0-10 范围内或者是 non-digit,它会提示用户重新输入。
如果没有定义within_range
,就不会进入while
循环,需要先定义为false才能进入循环。进入循环后,此值将根据 choice
值(使用 input
函数)
如果您的选择不在可接受的范围内,循环会要求您重新输入数字。
如果您的选择在可接受的范围内,那么循环将结束,因为在代码中 within_range
将为真。
如果不使用within_range,循环不会结束。