在 for 循环中添加 *

我对编程和 python 完全陌生。我目前正在使用 python 3.9,试图完成一个简单的 python 教程,但其中一个任务给我带来了问题。


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


1*

2**

3***

4****

5*****

6******

7*******

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


usercount = int(input("Up to what number do you want to go?"))


for x in range(usercount):

    print(x+1, "*")

输出如下所示:


1*

2*

3*

4*

5*

6*

7*

我需要做什么?


蝴蝶不菲
浏览 182回答 5
5回答

慕雪6442864

这是可行的,但有很多不同的方法可以使其发挥作用:usercount = int(input("Up to what number do you want to go?"))stars = ''for x in range(usercount):    stars += '*'    print((str(x+1))+stars)

慕侠2389804

您必须打印 n start,其中 n 是当前数字。要执行某件事 n 次,您可以使用 for 循环。在上面的示例中,您仅使用了一个print("*")仅打印单个开始的单个。要打印更多内容,您可以在内循环中打印星星,或者创建包含星星的单个字符串: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或者通过创建星号字符串:for x in range(usercount):    stars = "*" * (x+1)    print(x+1, stars)另外,为了避免输入 x+1,您可以指定范围range(1, usercount+1)

qq_遁去的一_1

你可以这样做:In [1687]: usercount = int(input("Up to what number do you want to go?"))In [1697]: for i in range(1, usercount + 1):      ...:     print(str(i) + ("*" * i))      ...: 1*2**3***4****5*****

动漫人物

您仅打印*在print(x+1, "*"). 您应该乘以*要打印的次数。例如:1* '*' = *2* '*' = **ETC尝试,usercount = int(input("Up to what number do you want to go?"))for x in range(1,usercount+1):    print(x, x*"*")

函数式编程

你可以这样尝试;usercount = int(input("Up to what number do you want to go? "))stars = '*'for i in range(usercount):    print(str(i+1)+stars)    stars += '*'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python