传递到python范围内循环中的下一个数字

2024-05-13 20:09:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个21点游戏,当玩家不想要新卡时,我不知道如何切换到范围内循环中的下一个数字。代码如下:

import random


#cards
cartes = [2, 3, 4, 5, 6, 7, 8, 9, 10,10,10,10,11 ]*4
#nombre de joueurs
nb = int(input("nombre de joueurs(max 5): "))
croupier = []
joueurs = []
x = True
random.shuffle(cartes)
for i in range(nb):
    joueurs.append([])
    joueurs[i].append(cartes[i])
    joueurs[i].append(cartes[i+nb+1])
    croupier.append(cartes[nb])
    print("main du joueur",i+1,":",joueurs[i])
print("main du croupier : [",croupier[0],", ?]")
t = True

while t:
    for a in range(nb):
        while sum(joueurs[a]) < 21:
            ask = input("Carte {} ?(oui ou non)".format(a+1))
            if ask == "oui":
                joueurs[a].append(cartes[a+nb+2])
                print(joueurs[a])
            else:
                print("Joueur",a+1,"a:",sum(joueurs[a]),"points")
                t = False
        if sum(joueurs[a]) == 21:
            print("joueur",a+1,"a BLACKJACK")
        elif sum(joueurs[a]) > 21:
            print("joueur",a+1,"a perdu")
            t = False

不符合我要求的部分:

while sum(joueurs[a]) < 21:
            ask = input("Carte {} ?(oui ou non)".format(a+1))
            if ask == "oui":
                joueurs[a].append(cartes[a+nb+2])
                print(joueurs[a])
            else:
                print("Joueur",a+1,"a:",sum(joueurs[a]),"points")
                t = False

当ask==“non”时,如何传递到下一个数字? 谢谢你抽出时间


Tags: falseinputifasksumprintnonnb
1条回答
网友
1楼 · 发布于 2024-05-13 20:09:42

您想使用break语句

while sum(joueurs[a]) < 21:
            ask = input("Carte {} ?(oui ou non)".format(a+1))
            if ask == "oui":
                joueurs[a].append(cartes[a+nb+2])
                print(joueurs[a])
            else:
                print("Joueur",a+1,"a:",sum(joueurs[a]),"points")
                t = False
                # add this
                break

相关问题 更多 >