Python 循环结果的嵌套
我有一个关于嵌套for循环结果的查询 代码Python 循环结果的嵌套,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我有一个关于嵌套for循环结果的查询 代码 dieCount = [0,0,0,0,0,0,0,0,0,0,0] Die1 = random.randint(1,10) dieCount[Die1] = dieCount[Die1] + 1 Die2 = random.randint(1,10) dieCount[Die2] = dieCount[Die2] + 1 Die3 = random.randint(1,10) dieCount[Die3] = dieCount[Die3] +
dieCount = [0,0,0,0,0,0,0,0,0,0,0]
Die1 = random.randint(1,10)
dieCount[Die1] = dieCount[Die1] + 1
Die2 = random.randint(1,10)
dieCount[Die2] = dieCount[Die2] + 1
Die3 = random.randint(1,10)
dieCount[Die3] = dieCount[Die3] + 1
print ("Dice Roll Stats:")
index = 1
print ("\nFace Frequency")
while index < (len(dieCount)):
print (index)
for number in range(dieCount[index]):
print ("*")
index = index + 1
就我的一生而言,我不知道如何得到这样的结果:
Face Frequency
1
2
3
4*
5
6*
7
8
9*
10
如果没有答案,请引导我阅读rite材料,以便我可以通读它,我尝试了许多不同的代码修改,但我仍然没有得到一个像样的结果。我可以使用print(“*”,end=''),但这将在数字之前附加*号。像wise一样,我尝试了打印(index,“*”)和del dieCount[Die1]等。。删除重复的号码,但这将从列表中完全删除该号码 不需要嵌套循环。您可以使用字符串乘法并将其附加到初始打印语句的末尾,如下所示:
while index < (len(dieCount)):
print (str(index) + "*" * dieCount[index])
index += 1
索引<(len(diecont)):
打印(str(索引)+“*”*dieCount[索引])
指数+=1
试试这个:
index = 1
print ("\nFace Frequency")
while index < (len(dieCount)):
output = str(index)
for number in range(dieCount[index]):
output += "*"
print(output)
index = index + 1
请注意,您的代码有一个bug,您的列表初始化为11个零,但您的随机数只生成10个可能的数字。Python中的列表索引从0开始,因此您一直缺少列表的第一项。非常感谢,我尝试了类似的方法,一定是写错了。
index = 1
print ("\nFace Frequency")
while index < (len(dieCount)):
output = str(index)
for number in range(dieCount[index]):
output += "*"
print(output)
index = index + 1
import random
dieCount = [0]*10
for i in range(3):
dieCount[random.randint(0,9)] += 1
for i,v in enumerate(dieCount):
print(str(i) + v * '*')