前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考点:列表、输入、元素比较、位置交换【Python习题01】

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

作者头像
刘金玉编程
发布2021-11-30 15:41:25
6990
发布2021-11-30 15:41:25
举报
文章被收录于专栏:编程创造城市编程创造城市

考点:列表、输入、元素比较、位置交换【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]

本节源代码公开:

代码语言:javascript
复制
# -*- 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 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)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档