解题思路:
新建列表接受输入流,交换最大值与最后一个数,交换最小值与第一个数。以空格为间依次输出
注意事项:
首先参照错误代码:
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 人评分
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:540 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1113 |
a+b浏览:433 |
1048题解(读入回车问题)浏览:556 |
前10名 (C语言代码)浏览:727 |
格式化数据输出 (C语言代码)浏览:820 |
陶陶摘苹果2 (C语言代码)浏览:600 |
简单的a+b (C语言代码)浏览:415 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:663 |
母牛的故事 (C语言代码)浏览:562 |