Python如何输入一个数输出相应图形

输入n,输出n行如下图形。如:输入5,如何使输出如图,求指导

img

在你另外的一个帖子中已经恢复你了哈,https://ask.csdn.net/questions/7938993
用双重循环来实现,代码如下:

n = int(input("请输入n:"))
for i in range(n):
    for j in range(i):
        print(' ', end='')
    for k in range(n-i):
        print(k+1, end='')
    print() # 换行

输出结果如下:

12345
 1234
  123
   12
    1

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7436880
  • 你也可以参考下这篇文章:Python小程序(8)假设有一组非负整数,对数据元素重新排列,使其构成的整数最大,输出该整数。
  • 你还可以看下python参考手册中的 python- 定义扩展类型:已分类主题- 终结和内存释放
  • 除此之外, 这篇博客: Python实例005:给输入的n个整数进行升序或降序排序中的 Python实例005:给输入的n个整数进行升序或降序排序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 先将输入的整数利用append() 方法插入到列表中。然后利用函数参数进行排序。可直接运用list.sort()接受一个参数reverse(True or False)来表示降序或升序排序。

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    
    I = []
    n = int(input('准备输入多少个整数进行排序:'))
    
    print('请输入%d个整数:' % n )
    for i in range(n):
        Inte = int( input('Integer%d:' % (i+1)) )
        I.append(Inte)
    
    # list.sort()接受一个参数reverse(True or False)来表示降序或升序排序,默认时,为升序
    Falg = int(input('升序排列输入 1,降序排列输入 2:'))
    if (Falg == 1) :
        I.sort( reverse = False )
        print('\n以上输入的%d个整数升序排列为:' % n, I)
    if (Falg == 2) :
        I.sort( reverse = True )
        print('\n以上输入的%d个整数降序排列为:' % n, I)
    

    运行结果如下

    • 结果1
    准备输入多少个整数进行排序:5
    请输入5个整数:
    Integer1:168
    Integer2:58
    Integer3:998
    Integer4:8
    Integer5:18
    升序排列输入 1,降序排列输入 2:1
    
    以上输入的5个整数升序排列为: [8, 18, 58, 168, 998]
    
    • 结果2
    准备输入多少个整数进行排序:3
    请输入3个整数:
    Integer1:520
    Integer2:13
    Integer3:14
    升序排列输入 1,降序排列输入 2:2
    
    以上输入的3个整数降序排列为: [520, 14, 13]
    

    • 致谢
      若对大家有用,感谢点赞或评论;若有不足或补充之处,也感谢大家评论进行指正,后期我将对本文进行补充完善。相信这是互相进步的开始!
  • 您还可以看一下 刘英老师的Python数据殿堂:数据分析与数据可视化课程中的 概述,数据类型,数组基础小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    可以使用循环来实现输入一个数n,然后输出n行由星号组成的图形,每行星号的数量为(2i-1),其中i表示当前行数。具体实现步骤如下:

    1. 接收用户输入的数n,并将其转换为整型。
    n = int(input("请输入一个数:"))
    
    1. 使用循环控制输出n行星号图形。在循环中,需要先输出空格,空格数量为n-i,然后再输出星号,星号数量为2i-1。具体实现如下:
    for i in range(1, n+1):
        space_num = n - i
        star_num = 2 * i - 1
        print(" "*space_num + "*"*star_num)
    

    完整代码如下:

    n = int(input("请输入一个数:"))
    
    for i in range(1, n+1):
        space_num = n - i
        star_num = 2 * i - 1
        print(" "*space_num + "*"*star_num)
    

    输出结果示例(输入5):

        *
       ***
      *****
     *******
    *********
    

    注意:以上代码只适用于Python 3.x版本。在Python 2.x版本中,需要将print语句改为print()函数,即print(" "*space_num + "*"*star_num)改为print " "*space_num + "*"*star_num