你任意输入几个数字,我们如何来进行排列。我们如何用学习的Python来进行输出结果呢。
我们要进行排列,要么固定给出一些数字,然后比大小,要么用input,让参与者来输入数字。也可以用pandas读取表格的一些数字,当然你也可以随机生成几个数字。
为了加强参与性,还是选择input吧,你也可以一个一个的数字输入,也可以用split()方法一次性处理输入的数字,我们刚开始,要多练习基础,还用一个一个输入吧,虽然看的笨拙,基础还是要练习的
- 我们可以设置一个条件,不能让人家输入的个数大于我排列的数字
- 输入的数字,我们是不是可以用一个列表来保存
- 我们循环,比对列表里面的数字,通过比大小来排序
- 打印出来看下,是不是按预期的显示了
代码如下
if __name__ == "__main__":
N = 10
# input data
print ('请输入10个数字:\n')
list = []
for i in range(N):#一个一个是数字输入,直到超过10个
list.append(int(input('输入一个数字:\n')))#获取数字,你也可以随机生成,都可以练练
for i in range(N):
print (list[i]) #输出你输入的数字
# 排列10个数字
for i in range(N - 1):#外循环,控制次数
min = i #给个初始的 然后通过下面和下个一以及后面所有数字进行比较,确定新的最小数,每个循环依次放到列表里
for j in range(i + 1,N):#内确定排列
if list[min] > list[j]:min = j
list[i],list[min] = list[min],list[i]#每次比对都进行更新
print ('以下是你输入的数字排列情况:')
for i in range(N):
print (list[i])#输出结果
我们运行看下吧
输入的数字排列结果
运行全图
代码截图如下
代码截图