首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在嵌套for循环("*")之前打印while循环(1,10)

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

Stack Overflow用户
提问于 2013-05-07 14:17:42
回答 4查看 349关注 0票数 0

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

代码语言:javascript
复制
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!

当“*”被永远打印出来的时候,死去的脸被滚动了,然而我却一直以这样的方式结束。

代码语言:javascript
复制
Game Summary
============

You played a total of 3 games:
|--> Games won: 1
|--> Games lost: 2

Dice Roll Stats.

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

因此,我想要做的是将‘*’垂直排列,并与索引值(1,10)相同,而不是总是将‘*’放在索引值的前面。

代码语言:javascript
复制
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
EN

回答 4

Stack Overflow用户

发布于 2013-05-07 14:22:27

你可以用这种方式打印整条线:

代码语言:javascript
复制
for i, val in enumerate(dieCount[1:], 1):
    print('{} {}'.format(i, '*' * val))
票数 2
EN

Stack Overflow用户

发布于 2013-05-07 14:27:57

第一个打印(索引)似乎是自动添加后的换行符。试着把它写成你打印*的方式:

代码语言:javascript
复制
    print(index, end='')
票数 2
EN

Stack Overflow用户

发布于 2013-05-07 14:21:41

试试这个:

代码语言:javascript
复制
while index < len(dieCount):

    print(index,end ="")
    for n in range(dieCount[index]):   
        print('*', end='')
    print()
    index = index + 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16421353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档