这是关于验证用户输入的,我正在做一个教程,但不明白他为什么定义下面的内容

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,循环不会结束。