在嵌套for循环(“*”)之前打印while循环(1,10)

2024-10-06 12:34:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用PYTHON编写代码,它将记录用户在“中间”玩骰子游戏的结果,然后在游戏结束时打印掷骰子的统计数据,所以基本上我想打印的是这样的内容

Game Summary
============
You played 3 Games:
|--> Games won: 0
|--> Games lost: 3

Dice Roll Stats:
Face Frequency
1
2 *
3
4 **
5 *
6 *
7
8 *
9 *
10 **
Thanks for playing!

当一个“*”永远被打印出来,模具的表面是滚动的,但是我总是以这样的方式结束。。在

^{pr2}$

所以我要做的是把“*”垂直排列,并与索引值(1,10)相同,而不是总是将“*”放在索引值的前面。 这是我的代码:)

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
dieCount = [0,0,0,0,0,0,0,0,0,0,0]
index = 1
while index < len(dieCount):

    print(index)
    for n in range(dieCount[index]):   
        print('*', end='')
    index = index + 1

Tags: 代码用户游戏forindex记录random骰子
3条回答

试试这个:

while index < len(dieCount):

    print(index,end ="")
    for n in range(dieCount[index]):   
        print('*', end='')
    print()
    index = index + 1

似乎第一次打印(索引)后会自动添加换行符。试着把它像你打印出来的那样:

    print(index, end='')

您可以这样打印,一次打印整行:

for i, val in enumerate(dieCount[1:], 1):
    print('{} {}'.format(i, '*' * val))

相关问题 更多 >