【发布时间】:2014-11-22 16:10:48
【问题描述】:
在本例中,我们将PH[0] 设置为'Ten of Hearts',将guess 设置为'Ten'
列表“PH”代表Go Fish 纸牌游戏中玩家的手牌。当用户猜牌时,他们必须猜出与他们手中的牌相对应的牌。我写了这段代码,如果用户输入了一个无效的猜测(如果猜测不在PH中,则会再次提示他们输入新的猜测)
我觉得数组[guess1, guess2, guess3, guess4] 中的变量有问题,但我不太确定。
当代码执行时,循环会一直持续下去。我需要能够跳出循环以返回猜测值,以便将其输入到下一个函数中。
如果有人可以帮我解决我遇到的问题。
guess = str(raw_input("Make a guess : "))
guess11 = guess, 'of Hearts'
guess1 = " ".join(guess11)
guess22 = guess, 'of Diamonds'
guess2 = " ".join(guess22)
guess33 = guess, 'of Clubs'
guess3 = " ".join(guess33)
guess44 = guess, 'of Spades'
guess4 = " ".join(guess44)
while PH[0] not in [guess1, guess2, guess3, guess4] :
print "You do not have a card like that in your hand."
guess = str(raw_input("Make another guess : "))
guess11 = guess, 'of Hearts'
guess1 = " ".join(guess11)
guess22 = guess, 'of Diamonds'
guess2 = " ".join(guess22)
guess33 = guess, 'of Clubs'
guess3 = " ".join(guess33)
guess44 = guess, 'of Spades'
guess4 = " ".join(guess44)
return guess
【问题讨论】:
-
那段代码伤了我的眼睛!了解如何编写 DRY 代码。它会让你的生活变得更轻松。
-
当我将
PH[0]设置为'Ten of Hearts'和guess设置为'Ten'时,它适用于我。循环正确退出。 -
raw_input已经是一个字符串 -
@Basic 我一定会研究并学习如何使我的代码更好。我才刚刚开始和学习。感谢您的帮助
标签: python loops variables while-loop