作为一种学习python的方法,我正在构建Yahtzee.py。
第一次滚动后,我希望用户决定要保留什么或重新注册什么(最多3次)。
为了避免为每个场景编写代码,我如何允许用户选择要重新注册的骰子。即(保持死1或保持骰子2,3,5)
这是我到目前为止的代码:
import random
rollCount=1
roll1 = random.randint(1,6)
roll2 = random.randint(1,6)
roll3 = random.randint(1,6)
roll4 = random.randint(1,6)
roll5 = random.randint(1,6)
def rollAll():
roll1
roll2
roll3
roll4
roll5
def printAll():
print("roll 1:",roll1,"\nroll 2:",roll2,"\nroll 3:",roll3,"\nroll 4:",roll4,"\nroll 5:",roll5)
def printRoll():
print("press any key to roll dice")
input()
str(printAll())
print("Would you like to roll again?\nroll all, roll 1, roll 2 , roll 3, roll 4 , roll 5")
rollAgain = input()
if rollAgain== "roll all":
rollCount=2
rollAll()
str(printAll())
答案 0 :(得分:2)
欢迎使用Python! :)
由于您的帖子表明这是一项学习练习,我会针对您应尝试达到的目标提供建议,而不是为您编写和粘贴代码。
你的程序需要记住每个模具的滚动。其中一个机制可能是:
outcomes = []
for i in range(0,5):
outcomes.append(random.randint(1,6))
鉴于上述情况,您现在拥有每个结果的程序化记忆。 random.randint()结果中的每一个现在都保存在一个列表中,您可以稍后在程序中按元素访问,具体取决于用户选择保留或重新滚动的内容。请记住,由于索引的编号方式,用户对“死一”的感知实际上是列表中的元素零。
有十多种方法可以接近你的程序的其余部分,但这对你来说应该是一个好的开端。您甚至可以探索列表推导,以改进我上面提供的示例。