说明
本练习在课堂内完成。请在本机使用 VS Code、Cursor 或 Devin Desktop 编写并运行,再将源代码与终端输出填入各题下方的文本框。
练习一:由表达式生成新列表
使用 [expression for item in iterable] 由已有序列生成新列表,并打印。
要求
- 打印
[x ** 2 for x in range(1, 6)],输出为[1, 4, 9, 16, 25]。 - 将
names赋值为["alice", "bob", "charlie"]。打印[name.upper() for name in names],输出为['ALICE', 'BOB', 'CHARLIE']。 - 打印
[len(name) for name in names],输出为[5, 3, 7]。
练习二:数值换算
在列表推导式中完成除法与圆面积计算。换算结果使用 round 保留小数点后 2 位,并打印。
要求
- 将
rmb_prices赋值为[100, 200, 300, 400]。按汇率7.2将人民币价格换算为美元,保留小数点后 2 位。打印该列表,输出为[13.89, 27.78, 41.67, 55.56]。 - 导入
math。将radii赋值为[1, 2, 3, 4, 5]。圆面积按math.pi * r ** 2计算,保留小数点后 2 位。打印该列表,输出为[3.14, 12.57, 28.27, 50.27, 78.54]。
练习三:按条件筛选
在列表推导式中使用 if 保留满足条件的元素,并打印。
要求
- 将
numbers赋值为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。打印偶数列表,输出为[2, 4, 6, 8, 10]。 - 将
mixed_numbers赋值为[-3, -1, 0, 2, 5, -8, 7]。打印大于0的数,输出为[2, 5, 7]。 - 将
words赋值为["cat", "dog", "elephant", "ant", "tiger"]。打印长度大于3的单词,输出为['elephant', 'tiger']。 - 打印包含字母
a的单词,输出为['cat', 'elephant']。
练习四:在推导式中使用条件表达式
使用 表达式 if 条件 else 表达式 为每个元素计算新值,并打印。
要求
- 将
numbers赋值为[-2, 3, -1, 4, -5, 6]。大于0的数保持不变,其余改为0。打印该列表,输出为[0, 3, 0, 4, 0, 6]。 - 将
scores赋值为[85, 92, 78, 96, 73, 88]。大于或等于90为优秀,大于或等于80且小于90为良好,小于80为及格。打印等级列表,输出为['良好', '优秀', '及格', '优秀', '及格', '良好']。