Python 3.x 如何创建第二个列表来存储每次滚动的值?python
我已经创建了一个python骰子游戏,我想让它记录每个掷骰值 例如,骰子滚动6,3,2,4,5,1,6,4,4,3,2,4直到极限(达到)达到50以下是我的代码:Python 3.x 如何创建第二个列表来存储每次滚动的值?python,python-3.x,Python 3.x,我已经创建了一个python骰子游戏,我想让它记录每个掷骰值 例如,骰子滚动6,3,2,4,5,1,6,4,4,3,2,4直到极限(达到)达到50以下是我的代码: import random throws = 0 sixes = 0 fives = 0 fours = 0 threes = 0 twos = 0 ones = 0 reach = 50 total = 0 question = input ("
import random
throws = 0
sixes = 0
fives = 0
fours = 0
threes = 0
twos = 0
ones = 0
reach = 50
total = 0
question = input ("Play Yes/No")
if question == "Yes":
question = True
else:
question = False
while total < reach and question:
roll = random.randint(1,6)
throws +=1
total += roll
if roll == 6:
sixes +=1
elif roll == 5:
fives +=1
elif roll == 4:
fours +=1
elif roll == 3:
threes +=1
elif roll == 2:
twos +=1
elif roll == 1:
ones +=1
else :
print("Try again later")
if question :
print("Total throws : ",throws)
print("Total : ",total)
print("Total 6's : ",sixes)
print("Total 5's : ",fives)
print("Total 4's : ",fours)
print("Total 3's : ",threes)
print("Total 2's : ",twos)
print("Total 1's : ",ones)
else :
print("Your Loss!")
随机导入
投掷=0
六=0
五=0
四=0
三等于0
twos=0
一=0
到达=50
总数=0
问题=输入(“播放是/否”)
如果问题==“是”:
问题=正确
其他:
问题=错误
而total
要回答您的问题,我如何创建第二个列表来存储每次掷骰时的值,您从一个空数组(顺序=[]
)开始,然后在每次掷骰后将掷骰附加到数组的末尾(顺序.附加(掷骰)
)
您的代码还可以改进其他一些方面
- 由于骰子卷正在计数,所以使用列表/数组进行计数并增加相应的索引要容易得多
- 如果您通过保存卷的顺序来跟踪卷,那么您不需要跟踪总和,您可以使用
sum(order)
- 如果通过保存卷的顺序来跟踪卷,则不需要跟踪卷的总数,只需使用
len(order)
- 如果使用数组而不是单个变量来跟踪计数,则可以将print语句放入for循环
import random
rolls = [0]*6
order = []
limit = 50
question = input ("Play Yes/No")
if question == "Yes":
question = True
else:
question = False
while sum(order) < limit and question:
roll = random.randint(1,6)
order.append(roll)
rolls[roll-1] += 1
if question :
print("Order of rolls: ", order)
print("Total throws : ",len(order))
print("Total : ",sum(order))
for i in range(len(rolls),0,-1):
print("Total ", i, "'s : ", rolls[i-1])
else :
print("Your Loss!")
随机导入
转鼓=[0]*6
订单=[]
限额=50
问题=输入(“播放是/否”)
如果问题==“是”:
问题=正确
其他:
问题=错误
而总和(顺序)<限制和问题:
滚动=随机。随机数(1,6)
订单追加(滚动)
转鼓[转鼓-1]+=1
如有问题:
打印(“卷的顺序:,顺序)
打印(“总投数:”,len(订单))
打印(“总计:,合计(订单))
对于范围内的i(长度(转鼓),0,-1):
打印(“总计”,i,“'s:”,卷[i-1])
其他:
打印(“您的损失!”)
您尝试过什么,出现了什么问题?这对我来说似乎非常简单:创建一个列表,并在每次while循环再次发生时(每次滚动后)添加一些内容。此外,您可以尝试使用一个列表来存储多少个一、两个。。。每个变量都有一个而不是一个不同的变量。它可以使你的程序更短、更漂亮