首页 > 解决方案 > 添加中断后循环没有中断

问题描述

我正在尝试创建一个用户猜测字母的功能;但我把它弄复杂了,现在,在猜对正确的字母后,循环不会中断。

di = {1:"a", 2:"b", 3:"c", 4:"d"}

number = random.randint(1,4)

while True:
    guess = input("Enter alpha")
     
    for i in range(1,len(di)+1):
        if guess in di[i]:
            if i == number:
                print("correct")
                break
             
            elif i > number:
                print("large")
            else:
                print("small") 

标签: pythondictionarywhile-loopbreak

解决方案


break 打破了 for 循环。如果你想打破 while 循环,可以这样做:

import random

di = {1:"a", 2:"b", 3:"c", 4:"d"}

number = random.randint(1,4)

while True:
    guess = input("Enter alpha")
    status = False     
    for i in range(1,len(di)+1):
        if guess in di[i]:
            print(i,number)
            if i == number:
                print("correct")
                status = True
                break
             
            elif i > number:
                print("large")
            else:
                print("small") 
    if status:
        break

推荐阅读