输入n,输出n行如下图形。如:输入5,如何使输出如图,求指导
在你另外的一个帖子中已经恢复你了哈,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
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
先将输入的整数利用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)
运行结果如下:
准备输入多少个整数进行排序:5
请输入5个整数:
Integer1:168
Integer2:58
Integer3:998
Integer4:8
Integer5:18
升序排列输入 1,降序排列输入 2:1
以上输入的5个整数升序排列为: [8, 18, 58, 168, 998]
准备输入多少个整数进行排序:3
请输入3个整数:
Integer1:520
Integer2:13
Integer3:14
升序排列输入 1,降序排列输入 2:2
以上输入的3个整数降序排列为: [520, 14, 13]
可以使用循环来实现输入一个数n,然后输出n行由星号组成的图形,每行星号的数量为(2i-1),其中i表示当前行数。具体实现步骤如下:
n = int(input("请输入一个数:"))
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
。