Python 我不知道';I don’我不知道如何使while循环持续到列表不出现';我没有任何剩余值
我试图用python重新创建纸牌游戏“War”,但在列表中的所有值都消失之前,我不知道如何在注释下循环代码。因此,基本上,代码生成一副洗牌,并从列表中弹出这些牌。我想让代码重复,直到所有的牌都从牌堆中弹出,我不知道怎么做Python 我不知道';I don’我不知道如何使while循环持续到列表不出现';我没有任何剩余值,python,python-3.x,Python,Python 3.x,我试图用python重新创建纸牌游戏“War”,但在列表中的所有值都消失之前,我不知道如何在注释下循环代码。因此,基本上,代码生成一副洗牌,并从列表中弹出这些牌。我想让代码重复,直到所有的牌都从牌堆中弹出,我不知道怎么做 import random def shuffled_deck(): deck = list(range(2, 15)) *4 random.shuffle(deck) return deck userdeck = shuffled_deck() print(&
import random
def shuffled_deck():
deck = list(range(2, 15)) *4
random.shuffle(deck)
return deck
userdeck = shuffled_deck()
print("welcome to War!")
user1 = input("Player-1 name: ")
user2 = input("Player-2 name: ")
u1points = 0
u2points = 0
drawturns = 0
# - I want to loop the segment of code under this comment
usercard = userdeck.pop()
u1card = usercard
print(user1 + ": " + str(u1card))
usercard = userdeck.pop()
u2card = usercard
print(user2 + ": " + str(u2card))
if u1card > u2card:
print(str(u1card) + " is greater than " + str(u2card) + ".")
print(user1 + " won this round.")
u1points +=1
elif u2card > u1card:
print(str(u2card) + " is greater than " + str(u1card) + ".")
print(user2 + " won this round.")
u2points +=1
else:
print("It's a draw, try again.")
while u1card == u2card:
drawturns +=1
usercard = userdeck.pop()
u1card = usercard
print(user1 + ": " + str(u1card))
usercard = userdeck.pop()
u2card = usercard
print(user2 + ": " + str(u2card))
if u1card > u2card:
print(str(u1card) + " is greater than " + str(u2card) + ".")
print(user1 + " won this round.")
u1points +=1
u1points + drawturns
elif u2card > u1card:
print(str(u2card) + " is greater than " + str(u1card) + ".")
print(user2 + " won this round.")
u2points +=1
u1points + drawturns
else:
print("It's a draw, try again.")
if u1card == u2card == False:
drawturns = 0
break
你可以做:
while len(userdeck)>0:
或者,您可以灵活地编写以下内容:
while userdeck:
这是因为空列表被视为False
,而非空列表被视为True
。因此,当userdeck为空时,while
循环将假定它为False
大小写,因此循环将停止。同样的概念也适用于if
语句。您可以:
while len(userdeck)>0:
或者,您可以灵活地编写以下内容:
while userdeck:
这是因为空列表被视为
False
,而非空列表被视为True
。因此,当userdeck为空时,while
循环将假定它为False
大小写,因此循环将停止。同样的概念也适用于if
语句。而len(userdeck)>0:
?@Barmar也可以将其简化为简单的,而userdeck:
感谢它的工作,而len(userdeck)>0:
?@Barmar也可以将其简化为简单的,而userdeck:
感谢它的工作