我是熊猫头 发表于 2021-4-26 06:01:03

请问这这串代码什么意思呀

这是我们老师写的掷色子的代码,好几段没看懂。
import random

r1 = [] # random rolls dice 1
r2 = [] # random rolls dice 2
s = [] # sum of values
#   123456
q1 = #   
q2 = # roll value quantity
#   23456789 10 11 12
qs = # sums quantity

for i in range(600):
    r1.append(random.randint(1, 6))
    r2.append(random.randint(1, 6))

for v in r1:
    q1 = q1 + 1
for v in r2:
    q2 = q2 + 1

print("rolls dice 1: ", r1)
print("counts dice 1: ", q1)
print("rolls dice 2: ", r2)
print("counts dice 2: ", q2)

for i in range(len(r1)): # or r2 'cause it is the same
    s.append(r1 + r2)

for v in s:
    qs = qs + 1

print("sums of rolls: ", s)   
print("counts of sums: ", qs)

里面的:
for v in r1:
    q1 = q1 + 1
for v in r2:
    q2 = q2 + 1

for i in range(len(r1)): # or r2 'cause it is the same
    s.append(r1 + r2)

for v in s:
    qs = qs + 1

print("sums of rolls: ", s)   
print("counts of sums: ", qs)
是什么意思呀?最后print的哪个qs又是啥呀?

suchocolate 发表于 2021-4-26 08:49:47

本帖最后由 suchocolate 于 2021-4-26 08:50 编辑

# 统计各面出现的次数,1多少次,2多少次...6多少次:
for v in r1:
    q1 = q1 + 1
for v in r2:
    q2 = q2 + 1

# 把两组抛掷结果相加,再统计各种结果出现的次数:2多少次,3多少次...12多少次。
for i in range(len(r1)):
    s.append(r1 + r2)

for v in s:
    qs = qs + 1

print("sums of rolls: ", s)   
print("counts of sums: ", qs)

灰晨 发表于 2021-4-28 16:34:35

import random
#三个空列表分别存骰子1的结果、骰子2的结果、两颗骰子的和
r1 = []
r2 = []
s = []
#q1、q2两个列表各有6个数来分别表示骰子1和2出现1-6的次数
q1 =
q2 =
#qs列表用来表示2-12(即两颗骰子的和)出现的次数
qs =
#循环600次(即投600次骰子)
for i in range(600):
    #在表示骰子1结果的r1列表添加结果(数值是1-6之间随机给一个)
    r1.append(random.randint(1, 6))
    # 在表示骰子2结果的r2列表添加结果(数值是1-6之间随机给一个)
    r2.append(random.randint(1, 6))
#遍历r1列表,即把r1列表的数一个一个取出来,用v来表示(由于r1列表中的值都是在1-6中取随机数,所以v的值在1-6之间)
#然后在q1列表中第v-1的位置的数加1
#列表索引是从0开始的
#即当v为1时,q1列表中第0的位置的数加1
for v in r1:
    q1 = q1 + 1
#遍历r2列表。。。。。
for v in r2:
    q2 = q2 + 1
print("rolls dice 1: ", r1)
print("counts dice 1: ", q1)
print("rolls dice 2: ", r2)
print("counts dice 2: ", q2)
#len(r1)表示r1列表的长度,即r1列表有多少个数值,这好像有点多余,毕竟上面在r1列表中添数值时是循环600次,这里肯定也是600。。。
#在表示两个骰子和的s列表添加数值,数值为(r1+r1),即r1列表和r2列表第i个数相加
for i in range(len(r1)):
    s.append(r1 + r2)
#遍历s列表。。。。
for v in s:
    qs = qs + 1
#打印结果,qs是上面用来表示两个骰子和出现次数的列表
print("sums of rolls: ", s)
print("counts of sums: ", qs)

qq1151985918 发表于 2021-4-28 20:59:01

{:9_227:}

傻眼貓咪 发表于 2021-9-5 12:13:22

變量取名時盡量以自己看懂為名,不然寫到幾百行幾千行代碼後,才弄胡自己
页: [1]
查看完整版本: 请问这这串代码什么意思呀