考点:列表、输入、元素比较、位置交换【Python习题01】
题目:
输入数组,
最大的与第一个元素交换,
最小的与最后一个元素交换,
输出数组。
思路:
- 解决数据输入的问题,将多个数据输入后保存到一个列表中。
- 定义一个函数,传入列表处理,最大值的情况;再定义一个函数,传入列表处理,最大值的情况;
- 实现交换:对列表中的每一个数据依次比较,找到一个最值,同时去记录这个最值对应的索引位置,这里的关键是使用enumerate将列表进行序列化,这样就可以找到索引位置。
输入与输出结果:
请输入一个数:3
请输入一个数:4
请输入一个数:65
请输入一个数:3
请输入一个数:1
请输入一个数:43
[3, 4, 65, 3, 1, 43]
[65, 4, 3, 3, 1, 43]
[65, 4, 3, 3, 43, 1]
本节源代码公开:
""" def shuruNum(n): list1=[] for i in range(n): list1.append(int(input("请输入一个数:"))) return list1 def swap_max(lst): max_=lst[0] fi=0 for i,v in enumerate(lst): if v>max_: max_=v fi=i lst[0],lst[fi]=lst[fi],lst[0] return lst def swap_min(lst): min_=lst[0] fi = 0 for i,v in enumerate(lst): if v<min_: min_=v fi = i lst[-1], lst[fi] = lst[fi], lst[-1] return lst if __name__ == '__main__': list1=shuruNum(6) print(list1) list1=swap_max(list1) print(list1) list1=swap_min(list1) print(list1)