竹枫逐风


私信TA

用户名:twfplayer

访问量:3740

签 名:

等  级
排  名 2573
经  验 2243
参赛次数 1
文章发表 5
年  龄 20
在职情况 学生
学  校 咸阳师范学院
专  业 软件工程

  自我简介:

解题思路:

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

注意事项:

    首先参照错误代码:

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分

2 人评分

  评论区

  • «
  • »