python中的数字图案打印

2024-04-19 18:53:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python3中打印以下数字模式

如果用户输入为5

  1
  22
  333
  4444

我正在用python做以下操作,但是得到了错误。你知道吗

for i in range(1,int(input())): 
   print(str(i) + " ")*i 

它给了我以下的错误

TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'

如何在python中实现它?你知道吗


Tags: 用户inforinput错误模式range数字
3条回答

你好像漏掉了一对括号。另外,可以删除额外的空间" ",以获得所需的输出。你知道吗

for i in range(1, int(input())): 
   print(str(i)*i) 

你只是少了一对括号:

print((str(i) + " ")*i)

你可以这样做:

n = int(input())
for i in range(1, n):
    for _ in range(i):
        print(i, end="")
    print()  # new line

您还可以将值相乘以列出并将其解压缩为打印:

n = int(input())
for i in range(1, n):
    print(*([i] * i), sep="")

但最明显的变体是使用str

n = int(input())
for i in range(1, n):
    print(str(i) * i)

相关问题 更多 >