用用户输入和while循环调用函数

时间:2016-04-04 21:10:52

标签: python-3.x

谢谢你的答案,我已经改变了一点,但是热衷于获得无限循环。当用户输入选项1-5时,它继续前进,但是如果用户输入6或更多,它将继续询问有效选项(1-5),但是当它运行时,即使我从1-5提供选项它一直说它无效。

def get_user_input(): 
    user_input = int(input("Enter your choice: ")) 
    while user_input > 5: 
        print("Invalid menu option.") 
        int(input("Please try again: ")) 
    if user_input <= 5: 
        return user_input 

1 个答案:

答案 0 :(得分:0)

在你的循环中,你要求新的用户输入,但没有对它做任何事情。您需要将新输入分配给正在循环条件下测试的user_input变量:

def get_user_input(): 
    user_input = int(input("Enter your choice: ")) 
    while user_input > 5: 
        print("Invalid menu option.") 
        user_input = int(input("Please try again: "))   ### add the assignment on this line!
    return user_input   ### no if needed here, return unconditionally

我还在循环后删除了if行。如果您成功退出循环,则已知输入小于5,因此无需再次检查。