题目列表
零、入门
0.1 向世界问好
利用python,向世界问好。
输出 Hello world
0.2 问候语
输入一个名字,输出'Hello 名字'
样例输入: 张三 样例输出: Hello 张三
一、变量
1.1 整数运算
输入两个数a和b,第一行输出和,第二行输出差,第三行输出积,第四行输出商,第五行输出求商后取,第六行输出次幂,即a^b,第七行输出模,即a除以b的余数
样例输入: 3 2 样例输出: 5 (和) 1 (差) 6 (积) 1.5 (商) 1 (整商) 9 (次幂) 1(取模)
1.2 银行家舍入法 (有点不一样的四舍五入)
输入一个三位小数数(浮点数),使用round(),第一行输出近似的整数,第二行输出保留两位小数的近似结果
样例输入: 3.866 样例输出: 4 3.87
1.3 字符串清理
输入一个字符串,去除其首尾空格
第一行输出大写
第二行输出小写
第三行输出每个单词的首字母变成大写的结果
样例输入: HElLo woRld 样例输出: HELLO WORLD hello world Hello World
1.4 使用f-string格式化输出
输入姓名和生日年份,用f-string格式和转义符\n输出格式化信息。(今年为2025年)
第一行输出: "My name is 姓名."
第二行输出: "I am 年龄 years old."
样例输入: Alice 2004 样例输出: My name is Alice. I am 21 years old.
1.5 f-string保留小数位
输入一个浮点数,使用f-string格式化输出,保留两位小数。
样例输入: 3.14159 样例输出: The number is 3.14
1.6 正常的四舍五入
输入一个正小数,输出它四舍五入后的整数。
样例输入: 3.6 样例输出: 4
二、if语句
2.1 判断正负数
输入一个整数,判断正负。
如果是正数输出“正数”,如果是负数输出“负数”,如果是0输出“0”
样例输入: 10 样例输出: 正数
2.2 判断成绩等级
输入考试分数,判断成绩等级。
成绩等级划分如下:
分数范围 | 等级 |
---|---|
100 | Perfect |
90-99 | Excellent |
80-89 | Good |
60-79 | Pass |
<60 | Fail |
根据分数输出对应等级:'Perfect'、'Excellent'、'Good'、'Pass' 或 'Fail'。
样例输入: 95 样例输出: Excellent
2.3 判断正负奇偶数与零
输入一个整数,判断其正负、奇偶性质或是否为零。
分类规则如下:
条件 | 输出 |
---|---|
正 (>0), 奇数 | Positive Odd |
正 (>0), 偶数 | Positive Even |
负 (<0), 奇数 | Negative Odd |
负 (<0), 偶数 | Negative Even |
零 (=0) | Zero |
根据输入整数输出对应描述:'Positive Odd'、'Positive Even'、'Negative Odd'、'Negative Even' 或 'Zero'。
样例输入: 7 样例输出: Positive Odd
三、For 循环
3.1 打印 0 到 4
使用 for 循环打印数字 0 到 4,每个数字占一行。
样例输出: 0 1 2 3 4
3.2 打印 1 到 5
使用 for 循环打印数字 1 到 5,每个数字占一行。
样例输出: 1 2 3 4 5
3.3 打印 1 到 10 的偶数
使用 for 循环打印 1 到 10 中的所有偶数,每个数字占一行。
样例输出: 2 4 6 8 10
3.4 打印 1 到 n 的平方数
输入一个正整数 n,使用 for 循环打印 1 到 n 每个数的平方。
样例输入: 3 样例输出: 1 4 9
3.5 打印 n 次 I love Python!
输入一个正整数 n,使用 for 循环打印 n 次 "I love Python!",每次占一行。
样例输入: 2 样例输出: I love Python! I love Python!
四、While 循环
4.1 使用 while 打印 1 到 5
使用 while 循环打印数字 1 到 5,每个数字占一行。
样例输出: 1 2 3 4 5
4.2 使用 while 倒着打印 5 到 1
使用 while 循环从 5 倒着打印到 1,每个数字占一行。
样例输出: 5 4 3 2 1
4.3 输入正确密码才退出
不断输入密码,直到输入'1234'为止,输入正确时输出 '密码正确'。
样例输入: 1111 0000 1234 样例输出: 密码正确
4.4 累计求和直到超过100
不断输入数字,累加求和,当总和超过100时停止并输出总和。
样例输入: 20 30 60 样例输出: 总和为: 110
4.5 猜数字游戏
内定一个数字7,不断让用户猜数字,猜对输出 '恭喜猜对!'。
样例输入: 5 8 7 样例输出: 恭喜猜对!
4.6 统计正整数个数
连续输入整数,直到输入 0 停止,使用 while 循环统计输入的正整数个数。
输出正整数的总数。
样例输入: 1 -2 3 0 样例输出: 2
4.7 寻找第一个能被 7 整除的数
输入两个正整数 a 和 b,使用 while 循环从 a 开始递增,找到第一个能被 7 整除的数。
输出该数字。(所有测试用例保证有解)
样例输入: 10 20 样例输出: 14
4.8 计算阶乘
输入一个正整数 n,使用 while 循环计算 n 的阶乘n!
输出阶乘结果。( n! = 1 × 2 × 3 × 4 × ... × n )
样例输入: 5 样例输出: 120
五、列表
5.1 字符串转列表
输入一个字符串,使用 list() 函数将其转换为列表。
输出该列表。
样例输入: abcd 样例输出: ['a', 'b', 'c', 'd']
5.2 用range()函数生成列表1
利用range()函数生成如下列表并将其输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 4, 6, 8, 10, 12, 14 ,16, 18, 20]
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [2, 4, 6, 8, 10, 12, 14 ,16, 18, 20]
5.3 用range()函数生成列表2
利用range()函数生成一个如下列表并将其输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
输出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
5.4 访问索引
输入一个字符串,将其转换为列表。
输出列表的第零个元素、第一个元素、最后一个元素和倒数第二个元素,用空格分隔。
(测试用例保证列表元素个数不少于 2)
样例输入: python 样例输出: p y n o
5.5 访问切片1
输入一个字符串,将其转换为列表。
第一行输出第二个元素到第六个元素构成的子列表
第二行输出第二个元素到倒数第四个元素构成的子列表。
(测试用例保证列表元素个数不少于 6)
样例输入: cantabile 样例输出: ['a', 'n', 't', 'a', 'b'] ['a', 'n', 't', 'a', 'b', 'i']
5.6 访问切片2
输入一个字符串,将其转换为列表。
输出第一个元素到第七个元素中索引为偶数构成的子列表。
(测试用例保证列表元素个数不少于 9)
样例输入: pythonabcde 样例输出: ['p', 't', 'o']
5.7 用切片 [::-1] 将列表反转
输入一个字符串,将其转换为列表,使用切片 [::-1] 将列表反转。
输出反转后的列表。
样例输入: sunflower 样例输出: ['r', 'e', 'w', 'o', 'l', 'f', 'n', 'u', 's']
5.8 用 .append() 方法给列表添加新元素
输入一个字符串,将其转换为列表,然后使用 append() 方法向列表末尾添加一个新元素,该元素的值为 'x'。
输出修改后的列表。
样例输入: awesome 样例输出: ['a', 'w', 'e', 's', 'o', 'm', 'e', 'x']
5.9 用 .append() 方法构建列表
第一行输入一个非负整数 n,表示接下来要输入的整数个数。然后输入 n 行,每行输入一个整数,使用 .append() 方法将其存入列表。
输出最终的列表。如果 n=0,输出空列表。
样例输入: 3 10 20 30 样例输出: [10, 20, 30]
5.10 用 .insert() 方法给列表插入值
输入一个字符串,将其转换为列表,然后使用 .insert() 方法在索引 2 的位置插入字母 'x'.
输出修改后的列表。
样例输入: delight 样例输出: ['d', 'e', 'x', 'l', 'i', 'g', 'h', 't']
5.11 用 .pop() 方法删除列表末尾值
输入一个字符串,将其转换为列表,然后使用 pop() 方法移除列表的最后一个元素。
输出修改后的列表。
样例输入: glorious 样例输出: ['g', 'l', 'o', 'r', 'i', 'o', 'u']
5.12 用 .pop() 方法根据索引删除列表值
输入一个字符串,将其转换为列表,然后使用 .pop() 方法移除索引 2 的元素。
输出修改后的列表。
样例输入: terrific 样例输出: ['t', 'e', 'r', 'i', 'f', 'i', 'c']
5.13 用 .remove() 方法根据值删除列表值
输入一个字符串,将其转换为列表,然后使用 remove() 方法移除列表中第一个出现的字母 'e'。
输出修改后的列表。(测试用例保证至少含一个 'e')
样例输入: spectacular 样例输出: ['s', 'p', 'c', 't', 'a', 'c', 'u', 'l', 'a', 'r']
5.14 用 .clear() 清空列表
输入一个字符串,将其转换为列表,第一行输出该列表
第二行输出使用 clear() 方法清空后的列表。
样例输入: fabulous 样例输出: ['f', 'a', 'b', 'u', 'l', 'o', 'u', 's'] []
5.15 用 .extend() 方法合并列表
输入一个字符串,将其转换为列表,然后使用 .extend() 方法将预定义的列表 ['x', 'y', 'z'] 添加到原列表末尾。
输出扩展后的列表。
样例输入: charming 样例输出: ['c', 'h', 'a', 'r', 'm', 'i', 'n', 'g', 'x', 'y', 'z']
5.16 用 .split() 方法分割列表
输入一个英文句子,使用 .split() 方法将其按空格分割为单词列表。
输出该单词列表。
样例输入: The sun shines brightly today 样例输出: ['The', 'sun', 'shines', 'brightly', 'today']
5.17 用 .split() 方法根据特定字符分割列表
输入一个英文字符串,使用 split() 方法以字母 'e' 作为分隔符将字符串分割为子字符串列表。
输出分割后的列表。(测试用例保证字符串至少包含一个 'e')
样例输入: welcome 样例输出: ['w', 'lcom', '']
5.18 用 map() 函数将列表元素转换类型1
输入一个英文句子,使用 .split() 方法按空格分割为单词列表,然后使用 map() 函数将每个单词转换为大写。
输出转换后的列表。
样例输入: Life is a beautiful journey 样例输出: ['LIFE', 'IS', 'A', 'BEAUTIFUL', 'JOURNEY']
5.19 用 map() 函数将列表元素转换类型2
输入一行以逗号分隔的若干个整数,将每个整数存入列表中,第一行输出该列表。
然后使用 map() 函数将所有列表中元素转换为整数类型,第二行输出转换后的列表。
样例输入: 1,2,3,4,5 样例输出: ['1', '2', '3', '4', '5'] [1, 2, 3, 4, 5]
5.20 用 map() 函数将列表元素转换类型3
输入一行以空格分隔的若干个整数,将每个整数存入列表中,然后使用 map() 函数将所有列表中元素转换为整数类型
输出转换后的列表
样例输入: 15 27 36 48 59 样例输出: [15, 27, 36, 48, 59]
5.21 用 len() 函数获取列表元素个数
输入一个英文单词,将其转换为列表,用 len() 函数获取该列表的长度。
输出一个整数,表示字符列表的长度。
样例输入: cheerful 样例输出: 8
5.22 用 .count() 方法统计元素个数
输入一个英文单词,将其转换为列表,然后使用 .count() 方法统计字母 'e' 的个数。
输出一个整数,表示字母 'e' 的出现次数。
样例输入: serenity 样例输出: 4
5.23 用 .index() 方法查找列表值的索引
输入一个英文单词,将其转换为列表,然后用 .index() 方法找到第一个字母 'e' 的索引。
输出一个整数,表示字母 'e' 的索引。(测试用例保证单词至少包含一个 'e')
样例输入: delight 样例输出: 1
5.24 用 .sort() 方法给列表排序
输入若干个整数,以空格分隔,将其存入列表中。第一行输出原始列表,第二行输出升序排序后的列表,第三行输出逆序排序后的列表。
每次输出占一行。
样例输入: 23 12 45 9 31 样例输出: [23, 12, 45, 9, 31] [9, 12, 23, 31, 45] [45, 31, 23, 12, 9]
5.25 用 .reverse() 方法反转列表
输入若干个整数,以空格分隔,将其存入列表中。
第一行输出原始列表,第二行输出用 .reverse() 方法反转后的列表。
样例输入: 17 29 36 48 53 样例输出: [17, 29, 36, 48, 53] [53, 48, 36, 29, 17]
5.26 用 sum() 函数对数列元素求和
输入若干个整数,以空格分隔,将其存入列表中。第一行输出原始列表,第二行用 sum() 函数输出列表中所有整数的和。
样例输入: 18 25 37 46 52 样例输出: [18, 25, 37, 46, 52] 178
5.27 用 max() 和 min() 函数获取列表最大值和最小值
输入一行以空格分隔的若干个整数,将其存入列表。第一行输出原始列表,第二行输出列表中的最大值,第三行输出列表中的最小值。
样例输入: 42 19 67 33 56 样例输出: [42, 19, 67, 33, 56] 67 19
5.28 for 循环遍历列表1: 统计列表中偶数个数
输入一行以空格分隔的若干个整数,将其存入列表。
使用 for 循环遍历列表,统计偶数的个数。
输出一个整数,表示偶数的个数。
样例输入: 12 45 32 18 27 样例输出: 3
5.29 for 循环遍历列表2: 输出列表中大于50的元素个数
输入一行以空格分隔的若干个整数,将其存入列表。
使用 for 循环遍历列表,输出所有大于 50 的元素个数。
样例输入: 45 62 78 33 51 样例输出: 3
5.30 while 循环遍历列表1: 统计列表中偶数个数
输入一行以空格分隔的若干个整数,其存入列表。使用 for 循环遍历列表,统计偶数的个数。
输出一个整数,表示偶数的个数。(测试用例保证输入包含至少 5 个整数)
样例输入: 12 45 32 18 27 样例输出: 3
5.31 while 循环遍历列表2: 将列表元素乘以2
输入一行以空格分隔的若干个整数,将其存入列表。使用 while 循环遍历列表,将每个元素乘以 2,存入新列表。
输出新列表。
样例输入: 13 24 35 46 57 样例输出: [26, 48, 70, 92, 114]
5.32 用 .join() 方法格式化输出1
输入一行以空格分隔的若干个整数,将其存入列表。将每个元素加 5 后,用 join() 方法转换为字符串,拼接为以分号分隔的字符串。
输出拼接后的字符串。
样例输入: 20 35 14 62 28 样例输出: 25;40;19;67;33
5.33 用 .join() 方法格式化输出2
输入一行以空格分隔的若干个整数。
以空格分隔,输出按照升序排序的结果。
样例输入: 5 12 8 20 15 样例输出: 15 36 24 60 45
六、阶段性综合练习(一)
6.1 学生成绩统计
输入一行以空格分隔的若干学生成绩(整数),将其存入列表。计算并输出三项内容:
1. 平均分(保留2位小数)
2. 最高分
3. 及格人数(分数 ≥ 60)
每次输出占一行。
样例输入: 85 92 78 65 45 样例输出: 73.00 92 3
6.2 超速识别系统
输入一行以空格分隔的若干车速数据(整数)。找出超速车辆的编号。
超速: 速度 > 60
编号: 从左到右,从 1 开始
输出超速车辆的编号,编号间以空格分隔;如果没有超速车辆,输出 0。
样例输入: 55 63 59 75 60 样例输出: 2 4
6.3 更新水果库存
原库存列表为 ['apple', 'banana', 'orange', 'grape', 'mango']
输入一行以空格分隔的卖出水果。从原库存中移除卖出水果
输出更新后的库存列表。(测试用例保证卖出水果至少 1 个,且均为原库存中的有效水果)
样例输入: banana orange 样例输出: ['apple', 'grape', 'mango']
6.4 BMI 计算器
输入身高(米)和体重(公斤),以空格分隔,计算 BMI 值(体重 / 身高^2,保留 2 位小数),并根据 BMI 范围输出健康建议:
- BMI < 18.5:体重过轻,建议增加营养。
- 18.5 ≤ BMI < 25:正常体重,保持健康生活方式。
- 25 ≤ BMI < 30:超重,建议控制饮食和增加运动。
- BMI ≥ 30:肥胖,建议咨询医生并调整生活方式。
输出 BMI 值和健康建议,格式为 'BMI: 值 建议: 健康建议'。(测试用例保证输入为有效的浮点数)
样例输入: 1.75 70 样例输出: BMI: 22.86 建议: 正常体重,保持健康生活方式
6.5 解一元二次方程
输入一元二次方程 ax² + bx + c = 0 的三个参数 a, b, c(以空格分隔),计算方程的解。判别式 Δ = b² - 4ac:
- 若 Δ > 0,输出两个实根(升序,保留 2 位小数),格式为 'x1 = 值, x2 = 值'。
- 若 Δ = 0,输出一个实根,格式为 'x = 值'。
- 若 Δ < 0,输出 '无实根'。
(测试用例保证 a ≠ 0,输入为有效的浮点数)
提示: x
的平方根等于 x
的二分之一次方
解一元二次方程的一般公式为: x = (-b ± √(b² - 4ac)) / (2a)
样例输入: 1 -3 2 样例输出: x1 = 1.00, x2 = 2.00