python输入一个数列_Python练习实例39 | 按顺序,在原有的数列当中,插入一个新的数,序列规律保持不变,如何实现?...

小黄人.jpg

想要实现这个功能,需要我们首先来进行一下判断,看新插入的数字,与原来的数字进行比较,会出现几种情况。

第一种情况,假如新插入的数字,大于前面所有的列表数字,那么,这个新插入的数字应该放在最后就可。

第二种情况,新插入的数字,比倒数第二个(不是倒数第一个,是由于最后一个数字需要占位)数字要小,我们需要将这个数字插入到倒数第二个数与倒数第三个数字之间。

好了,分析完了之后,我们来看一下代码。# 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。if __name__ == "__main__": # 定义一个程序的入口 a = [1,4,6,9,13,16,19,28,40,100,0] # 创立一个空的列表,这里的0,仅仅占位,没有任何意思 print("原始列表:") # 将空列表打印出来 for i in range(len(a)): # 遍历列表当中的元素,并打印出来 print (a[i],end=",") num = int(input("\n请输入一个整数:")) # 输入一个数字 end = a[9] # 定位倒数第二位的一位变量,这里也可以写成a[-2] if num > end: # 假如输入的数字大于倒数第二个的数字 a[10]=num # 将num的值换成最后一个的占位的数字,这里也就是0 else: # 否则 for i in range(10): #遍历列表前10个元素 if a[i]>num: # 假如列表当中的元素的值大于num temp1 = a[i] # 将这个元素赋值给temp1,这里主要是想让a[i]为num腾出一个地方 a[i]=num # 将num的值,替代为a[i]本来所在的位置的值 for j in range(i+1,11): # 这里的意思,就是依次将原来的数 后移动一个位置。 temp2 = a[j] a[j]=temp1 temp1=temp2 break print("排序后的列表:") # 打印出排序后的列表 for i in range(11): print(a[i],end=",") # 遍历下标,打印出下标所对应的元素。

2020年3月8日

北京市通州区京贸中心

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值