我正在寫一個基於手風琴風格的紙牌的python程序。我已經寫了上面的代碼,並且在過去的幾個小時裏一直在玩它,但我似乎無法使循環正確運行。無論出於何種原因,它將只運行一次循環,而不再要求輸入,或者它會一次運行,詢問輸入,不管輸入什麼,它都會崩潰。任何想法我在這裏做錯了嗎?雖然循環併發症
這裏是我的代碼:
import random
print("Command Options:")
print("1C - Play card C onto pile 1 position back, ignored if invalid")
print("3C - Play card C onto pile 3 positions back, ignored if invalid")
print("C - Count of undealt cards")
print("D - Deal next card")
print("H - Print this help screen")
print("R - Resign this game (quit early)")
print("X - Exit Program")
cards=['AC','2C','3C','4C','5C','6C','7C','8C','9C','TC','JC','QC','KC','AD','2D','3D','4D','5D','6D','7D','8D','9D','TD','JD','QD','KD','AH','2H','3H','4H','5H','6H','7H','8H','9H','TH','JH','QH','KH','AS','2S','3S','4S','5S','6S','7S','8S','9S','TS','JS','QS','KS']
random.shuffle(cards,random.random)
playable=[]
done=False
while not done:
move=input("Enter move: ")
move_upper=move.upper()
if move_upper == 'D':
playable.append(cards.pop())
print(playable)
if move_upper == 'X' or 'R':
done=True
if move_upper == 'H':
print("Command Options:")
print("1C - Play card C onto pile 1 position back, ignored if invalid")
print("3C - Play card C onto pile 3 positions back, ignored if invalid")
print("C - Count of undealt cards")
print("D - Deal next card")
print("H - Print this help screen")
print("R - Resign this game (quit early)")
print("X - Exit Program")
if move_upper == 'C':
k=0
for item in cards:
k+=1
print(K,'cards left')