我对编程和python完全陌生。目前我正在使用python3.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*我该怎么做?
谢谢。
发布于 2020-10-22 07:48:00
您必须打印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)
发布于 2020-10-22 07:45:11
这是可行的,但是有很多不同的方法可以让它发挥作用:
usercount = int(input("Up to what number do you want to go?"))
stars = ''
for x in range(usercount):
stars += '*'
print((str(x+1))+stars)发布于 2020-10-22 07:43:44
您可以将一个字符串乘以一个整数来再现该字符串N次。例如:
IN: 'ab' * 3
OUT: 'ababab'在您的例子中,您希望根据迭代数来乘字符串'*'。当心,python range从0开始,在usercount-1结束。
https://stackoverflow.com/questions/64477477
复制相似问题