python停止运行函数

根据我之前写的程序修改
修改您以前的程序。在此阶段,添加额外的需求,并更新以前的需求。您的程序必须确定用户是否正确地猜到了隐藏的代码。如果猜对了代码,程序应该通过显示棋盘完成这一回合,然后显示消息“你赢了!”然后终止。如果用户玩了全部10回合,但没有猜对,那么程序将显示“You lose!”,然后终止。此外,应该删除目标的显示,因为游戏的所有功能都已完成。

新需求
当猜对时,游戏结束。系统显示“You Win!”
移除10圈后的“Done”字样。
移除目标的显示。
显示格式
下面的例子显示了正在进行的游戏中的一个回合,说明了猜对后的显示。

img


Example

img

all_guess=[]
hidden_code="rroy"
kvChrCount={}
for i in hidden_code:
    kvChrCount[i]=kvChrCount.get(i,0)+1

def main():    
    display_board()
    guess_loop()
def guess_loop():
    character=['r','o','y','g','b','v']
    turn=1
    while turn<=10:
        guess=input(f'{turn}(roygbv):')
        if len(guess)==4 :
            all_guess.append(guess+'||'+getMask(guess))
            turn+=1
            display_board()
            if guess==hidden_code:
                print('You win!')
                break

    if turn>10:
        print('You lose!')

def getMask(s) :
    num=0
    kv={}
    for i in s:
        kv[i]=kv.get(i,0)+1
        if i in hidden_code and kv[i]<=kvChrCount[i]:
            num+=1
    mask=""
    for i in range(0,4):
        if i<num:
            if hidden_code[i]==s[i]:
                mask+="B"
            else:
                mask+="W"
        else:
            mask+="."

    return mask
def display_board():    
    print('----------')
    print('Code||Mark')
    l=len(all_guess)
    for i in range(0,10):
        if i<l:
            print(f'{all_guess[i]}')
        else:
            print('....||....')
    print('----------')
 
main()
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632