首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在for循环中添加*

在for循环中添加*
EN

Stack Overflow用户
提问于 2020-10-22 07:41:17
回答 9查看 115关注 0票数 1

我对编程和python完全陌生。目前我正在使用python3.9,尝试学习一个简单的python教程,但是其中一个任务给我带来了问题。

我应该得到这样的输出:(在询问用户他想去哪个号码之后)

代码语言:javascript
复制
1*
2**
3***
4****
5*****
6******
7*******

我的代码现在看起来是这样的:

代码语言:javascript
复制
usercount = int(input("Up to what number do you want to go?"))

for x in range(usercount):
    print(x+1, "*")

输出结果如下:

代码语言:javascript
复制
1*
2*
3*
4*
5*
6*
7*

我该怎么做?

谢谢。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2020-10-22 07:48:00

您必须打印n开始,其中n是当前的数字。要执行多次的操作,您需要使用for循环。

在上面的例子中,您只使用了一个print("*"),它只打印一个开始。要打印更多,您可以在内部循环中打印星星,或者创建包含星星的单个字符串:

代码语言:javascript
复制
for x in range(usercount):
    print(x+1, end="") # end="" means that print won't end in new line
    for i in range(x+1):
        print("*", end="")
    print() # just add a new line at the end

或者通过创建星星字符串:

代码语言:javascript
复制
for x in range(usercount):
    stars = "*" * (x+1)
    print(x+1, stars)

此外,为了避免键入x+1,可以指定范围为range(1, usercount+1)

票数 1
EN

Stack Overflow用户

发布于 2020-10-22 07:45:11

这是可行的,但是有很多不同的方法可以让它发挥作用:

代码语言:javascript
复制
usercount = int(input("Up to what number do you want to go?"))
stars = ''
for x in range(usercount):
    stars += '*'
    print((str(x+1))+stars)
票数 2
EN

Stack Overflow用户

发布于 2020-10-22 07:43:44

您可以将一个字符串乘以一个整数来再现该字符串N次。例如:

代码语言:javascript
复制
IN: 'ab' * 3
OUT: 'ababab'

在您的例子中,您希望根据迭代数来乘字符串'*'。当心,python range0开始,在usercount-1结束。

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

https://stackoverflow.com/questions/64477477

复制
相关文章

相似问题

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