python 跳出for循环

import random
print("I am thinking of a number 1 to 20.You get 6 guesses")
theNumber = random.randint(1,20)
for number in range(1,7):
guess = int(input("Guess?"))
if guess < theNumber:
print(number, "too small")
else:
if guess > theNumber:
print(number,"too big")
else:
print("correct")

if guess == theNumber:
print("Well done")
else:
print("Correct answer was", theNumber)

若是在六次内猜中数字,print correct以后还是会继续循环显示Guess?
怎么样跳出循环?不要用continue或是break,老师要求把number改成6,但我不知道该怎么改

解决方案如下:

    题目中是想把猜的次数设置为6次,Range(1,7),刚好是六次,这个已经满足要求;

    跳出循环的问题,一般都是用break,如果要求不用,代码修改如下;

    import random
    print("I am thinking of a number 1 to 20.You get 6 guesses")
    theNumber = random.randint(1,20)
    flag=True
    for number in range(1,7):
        if flag:
            guess = int(input("Guess?"))
            if guess < theNumber:
                print(number, "too small")
            else:
                if guess > theNumber:
                    print(number,"too big")
                else:
                    print("correct")
                    flag=False

    if guess == theNumber:
        print("Well done")
    else:
        print("Correct answer was", theNumber)

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-19
修改for那行,也就是地4行,改成下面两行:
number, guess = 1, -1
while number < 7 and guess != theNumber:
在循环最后,和if-else同等缩进处加下面一行:
number += 1
一定注意缩进
这样就ok了,没有break;
第2个回答  2015-10-17
1.开门见山直接回答知识点
2.对相关知识点进行延伸
3.规范排版,内容充实更容易通过认证哦
4.补充参考资料(没有可以忽略哦~)
第3个回答  2013-08-19
print correct下面写个break就直接跳出外面的循环了追问

不能用break的话怎么做?

追答

额,python中断循环就两种办法,一个是break,一个是continue,第一个表示直接跳出循环,第二个表示跳出当次循环,然后继续执行下一个循环。对于你的情况,也就只能用break了,在python中,有且只有一种最好的办法来解决一个问题。

本回答被提问者采纳
第4个回答  2013-08-21
我通常用break,这需要配合条件的。
相似回答