解题思路:

    新建列表接受输入流,交换最大值与最后一个数,交换最小值与第一个数。以空格为间依次输出

注意事项:

    首先参照错误代码:

a = list(input().split())         ''' 此处新建的列表为str类型a:['2', '1', '3', '4', '5', '6', '7', '8', '10', '9'] '''
for i in range(10):            ''' 此处可用for i in a:直接读取列表元素,不必掉用range()函数迭代 '''
    if a[i] == max(a):                ''' if()语句多余,调用a.index()函数足以获取元素位置 '''
        a[a.index(max(a))] = a[len(a) - 1]        ''' 交换元素可合并为一行 '''
        a[len(a) - 1] = a[i]
    if a[i] == min(a):
        a[a.index(min(a))] = a[0]
        a[0] = a[i]
for i in range(10):
    print(a[i], end=' ')

参考代码:

a = list(map(int, input().split()))
a[a.index(max(a))], a[len(a) - 1] = a[len(a) - 1], max(a)
a[a.index(min(a))], a[0] = a[0], min(a)
for i in a:
    print(i, end=" ")

代码所用函数详解:

    input():获取标准输入"2 1 3 4 5 6 7 8 10 9"

    split():以默认空字符对输入的字符串进行切片"'2', '1', '3', '4', '5', '6', '7', '8', '10', '9'"

    map():会根据提供的函数对指定序列做映射。此处及对str型输入做强制类型转化为int

    max(a):获取a列表最大元素的值

    min(a):获取a列表最大元素的值

    index():获取元素在列表中第一次出现的位置

点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论