为了账号安全,请及时绑定邮箱和手机立即绑定

在 for 循环中添加 *

在 for 循环中添加 *

蝴蝶不菲 2023-12-26 16:02:41
我对编程和 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*我需要做什么?
查看完整描述

5 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

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


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

stars = ''

for x in range(usercount):

    stars += '*'

    print((str(x+1))+stars)


查看完整回答
反对 回复 2023-12-26
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您必须打印 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)


查看完整回答
反对 回复 2023-12-26
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

你可以这样做:


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*****


查看完整回答
反对 回复 2023-12-26
?
动漫人物

TA贡献1815条经验 获得超10个赞

您仅打印*在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*"*")


查看完整回答
反对 回复 2023-12-26
?
函数式编程

TA贡献1807条经验 获得超9个赞

你可以这样尝试;


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

stars = '*'

for i in range(usercount):

    print(str(i+1)+stars)

    stars += '*'


查看完整回答
反对 回复 2023-12-26
  • 5 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信