如何在Python中输入任何内容来重复声明?

如何在Python中输入任何内容来重复声明?

问题描述:

while num_students < 0: 
    num_students = int(input("How many students are you entering? ")) 

如何在python中重复使用用户输入的内容(让他们进入)?如何在Python中输入任何内容来重复声明?

你可以通过添加一个条件来工作。

while num_students < 0 and not num_students: 
    num_students = int(input("How many students are you entering? ")) 

我建议一个稍微更一般的方法,如果只为了避免ValueError如果用户输入不能被转换为int的字符串。

while True: 
    answer = input("How many ... ") 
    try: 
     num_students = int(answer) 
    except ValueError: 
     continue 
    if num_students >= 0: 
     break 

具有显式break无限循环是代替不存在do-while循环使用的公用的Python成语。

num_students = -1 

while num_students < 0: 
    try: 
     num_students = int(input("How many students are you entering? ")) 
    except: 
     print "Please enter an integer greater than or equal to 0" 

我会推荐这段代码。它避免了像“break”和“continue”这样的控制语句的流动,并且如果输入字符串或其他无效输入时不会崩溃。避免控制语句的流动使程序更易于分析,这对确定速度或安全性很有帮助。