首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打印9行计数从0-9不工作

打印9行计数从0-9不工作
EN

Stack Overflow用户
提问于 2015-09-13 01:48:11
回答 3查看 1.2K关注 0票数 0

我开始尝试让我的代码从0-9返回9行。

代码语言:javascript
运行
复制
0123456789
0123456789
0123456789       
0123456789

就这样等等。相反,我从输出中得到了这个

代码语言:javascript
运行
复制
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
[4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
[6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
[7, 7, 7, 7, 7, 7, 7, 7, 7, 7]
[8, 8, 8, 8, 8, 8, 8, 8, 8, 8]
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]

我的代码

代码语言:javascript
运行
复制
def countdown(count):
    while (count <= 9):
        print ([count]*10)
        count += 1

countdown(0)

我知道括号是从哪里来的,我试着摆脱它们,但是每次我尝试不使用它们运行时,[count],我的代码就乱七八糟了。我知道我读过关于将数据传输到str的文章,但是尽管我尝试过,但我还没有弄清楚这一点。

问题1是如何解决这个问题,这样我就可以让它按照我最初的要求去做。

问题2或多或少是我在想,我是否可以做些什么来摆脱[ ],从我当前的输出,这样我就不会再犯同样的错误了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-13 02:04:21

[]来自[count],它是一个包含一个元素count的列表。你不需要它在这里。

要打印9行的0-9,建议嵌套循环,可能还有range。不要硬编码910到代码中,将其作为函数的参数传递。下面是一段有一些问题的代码:

代码语言:javascript
运行
复制
def countdown(count):
    for i in range(count):
        for j in range(count):
            print(j)

countdown(10)

输出的9时间为0- 9,但每个数字都在自己的行中。--我没有给你工作代码,这里有一个提示:循环使用print手册,如何在不开始新行的情况下打印一些东西?

票数 0
EN

Stack Overflow用户

发布于 2015-09-13 02:11:25

您应该执行如下所示的操作:

代码语言:javascript
运行
复制
def countdown(count):
    while (count <= 9):
        print (''.join(str(x) for x in range(0,10)))
        count += 1

countdown(0)

另外,somevalue * 10将创建一个包含10个元素的列表,其中每个元素都是==。为。例如:* 10是0,0,0,0,0,0,0,0,0

1,1 *2是1,1,1,1

票数 1
EN

Stack Overflow用户

发布于 2015-09-13 07:15:51

您将希望使用循环。根据您想要打印一个int或string的情况,有两种方法我可以考虑这样做,同时尽可能地对答案进行文字处理。

如果您只需要将数字打印到屏幕上,那么字符串就足够了。

代码语言:javascript
运行
复制
def countdown():
for i in range(0,9):        #Iterate for 9 lines
    x=""                    #Using string x
    for j in range(0,10):   #Iterate through numbers 0-9 which is actually ten digits
        x += str(j)         #convert the int j to a string and add it to string x
    print(x)

如果您试图输出int,则在打印之前将字符串转换为int a。

代码语言:javascript
运行
复制
def countdown():
for i in range(0,9):        #Iterate for 9 lines
    x=""                    #Using string x
    for j in range(0,10):   #Iterate through numbers 0-9 which is actually ten digits
        x += str(j)         #convert the int j to a string and add it to string x        
    y = int(x)              #convert the string x to int y
    print(y)

在任何一种情况下,您的shell都应该打印如下:

代码语言:javascript
运行
复制
>>> countdown()
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789
0123456789

您试图使用一个列表,它可以实现类似的结果,但不是您所要求的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32545543

复制
相关文章

相似问题

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