Python 如何让用户选择要打印的参数

Python 如何让用户选择要打印的参数,python,arguments,Python,Arguments,作为学习python的一种方式,我正在构建Yahtzee.py 在第一次滚动之后,我希望用户决定保留什么或重新滚动什么(最多3次) 为了避免为每个场景编写代码,我如何允许用户选择要重新掷骰子。ie(保留骰子1或保留骰子2、3、5) 以下是我目前掌握的代码: import random rollCount=1 roll1 = random.randint(1,6) roll2 = random.randint(1,6) roll3 = random.randint(1,6) roll4

作为学习python的一种方式,我正在构建Yahtzee.py

在第一次滚动之后,我希望用户决定保留什么或重新滚动什么(最多3次)

为了避免为每个场景编写代码,我如何允许用户选择要重新掷骰子。ie(保留骰子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())
欢迎使用Python!:)

由于您的帖子表明这是一个学习练习,我将为您应该尝试达到的目标提供建议,而不是为您编写和粘贴代码

您的程序需要记住每个模具的滚动。实现这一点的众多机制之一可能是:

outcomes = []
for i in range(0,5):
    outcomes.append(random.randint(1,6))
鉴于上述情况,您现在拥有每个结果的编程内存。现在,每个random.randint()结果都保存在一个列表中,您可以稍后在程序中按元素访问该列表,具体取决于用户选择保留或重新滚动的内容。记住,由于索引的编号方式,用户对“die one”的感知实际上是列表中的零元素

有十几种方法可以完成程序的其余部分,但对您来说,这应该是一个很好的开端。您甚至可以探索列表的理解,以改进我上面提供的示例。

欢迎使用Python!:)

由于您的帖子表明这是一个学习练习,我将为您应该尝试达到的目标提供建议,而不是为您编写和粘贴代码

您的程序需要记住每个模具的滚动。实现这一点的众多机制之一可能是:

outcomes = []
for i in range(0,5):
    outcomes.append(random.randint(1,6))
鉴于上述情况,您现在拥有每个结果的编程内存。现在,每个random.randint()结果都保存在一个列表中,您可以稍后在程序中按元素访问该列表,具体取决于用户选择保留或重新滚动的内容。记住,由于索引的编号方式,用户对“die one”的感知实际上是列表中的零元素


有十几种方法可以完成程序的其余部分,但对您来说,这应该是一个很好的开端。您甚至可以探索列表理解,以改进上面我提供的示例。

此示例中的代码重复性很强。请修复缩进此示例中的代码重复性很强。请修复缩进索引器:列表分配索引超出范围。使用
结果。追加(…)
.doh!在这里,我想我可以不用.append()或在解释器中进行测试就可以离开。非常感谢。我不知道这个范围只有5个元素。无法在中编辑,太短。
索引器:列表分配索引超出范围
。使用
结果。追加(…)
.doh!在这里,我想我可以不用.append()或在解释器中进行测试就可以离开。非常感谢。我不知道这个范围只有5个元素。无法在中编辑,太短。