Python 如何输出每行有N,N-1,…,1个字符的N行

Python 如何输出每行有N,N-1,…,1个字符的N行,python,Python,目前正在学习python,但遇到了一个问题:如何让它做到这一点?下面的例子就是问题所在 Number of lines: 5 *User inputs number* xxxxx xxxx xxx xx x *Then it prints any number of 'x' backwards. 所以它会倒数你输入的数字,例如,如果是5,它会显示5'x,然后倒数。它还需要用户输入任何数字,然后执行该操作。这应该是您想要的: from __future__ import print_f

目前正在学习python,但遇到了一个问题:如何让它做到这一点?下面的例子就是问题所在

Number of lines: 5 *User inputs number*
xxxxx

xxxx

xxx

xx

x *Then it prints any number of 'x' backwards. 

所以它会倒数你输入的数字,例如,如果是5,它会显示5'x,然后倒数。它还需要用户输入任何数字,然后执行该操作。

这应该是您想要的:

from __future__ import print_function

num = int(input("Number of lines: "))  # Use raw_input() on Python 2

for count in range(num, 0, -1):
    print('x' * count)
    print()
演示:


可以使用for循环按降序在某个范围内迭代:

n = int(input("Number of lines: "))
for i in range(n, 0, -1):
    print('x' * i)
如果您使用的是Python 2,则应将
input()
替换为
raw\u input()

作为替代方案,您可以按升序生成“x”序列,然后在输出之前反转它们

n = int(input("Number of lines: "))
print(*reversed(['x' * i for i in range(1, n+1)]), sep='\n')

不清楚你在问什么。啊,你想从用户那里得到一个数字,而不是打印
num
x,然后是
num-1
x,等等?对不起,我说得不够清楚。希望编辑帮助在这里发布作业之前,您是否尝试做自己的家庭作业?是的,先生,我尝试过,但我只是在学习,希望您能提供帮助。只是得到一个语法错误:无效语法OK,您使用的是Python 3,其中
print
是一个函数。我已经更新了答案。TypeError:“str”对象不能被解释为整数。我如何去掉空格?@thepusshipper,您在示例输出中有空格,但如果您不需要,请去掉最后一个空的
print()
@thepusshipper,您应该投票选出所有好的答案,包括但不限于被接受的答案。编辑后,这是一种非常好的方式。
n = int(input("Number of lines: "))
print(*reversed(['x' * i for i in range(1, n+1)]), sep='\n')