打开网易新闻 查看精彩图片

考点:列表、输入、元素比较、位置交换【Python习题01】

题目:

输入数组,

最大的与第一个元素交换,

最小的与最后一个元素交换,

输出数组。

思路:

  1. 解决数据输入的问题,将多个数据输入后保存到一个列表中。

  2. 定义一个函数,传入列表处理,最大值的情况;再定义一个函数,传入列表处理,最大值的情况;

  3. 实现交换:对列表中的每一个数据依次比较,找到一个最值,同时去记录这个最值对应的索引位置,这里的关键是使用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]

本节源代码公开:

# -*- coding: utf-8 -*-"""@File文件 : ljytest67@Time创建时间 : 2021/11/23@Author作者 : 刘金玉@Contact联系方式 : selidev@qq.com 编程创造城市 http://bcczcs.com注:作者信息请保留!否则必究法律责任!刘金玉编程,编程创造城市!作者微信号:selidev作者抖音号:selidev作者B站:刘金玉编程微信公众号:编程创造城市题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
程序分析:无。"""
def shuruNum(n):list1=[]for i in range(n):list1.append(int(input("请输入一个数:")))return list1def swap_max(lst):max_=lst[0]fi=0for i,v in enumerate(lst):if v>max_:max_=vfi=ilst[0],lst[fi]=lst[fi],lst[0]return lst
def swap_min(lst):min_=lst[0]fi = 0for i,v in enumerate(lst):if vmin_=vfi = ilst[-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)

联系作者:刘金玉

长按关注公众号

编程创造城市官网:https://bcczcs.com/