本文针对 Python 第二次课后作业进行完整解析,包含代码实现、解题思路、语法考点,涵盖循环、条件判断、随机数、列表基础、切片、嵌套循环等核心内容,适合零基础学习者参考学习。

一、编程实操题解析

1. 猜数字游戏

需求:系统生成 0~100 随机数,用户反复猜测,系统给出提示,猜对结束并统计次数。核心考点random模块、while循环、分支语句、计数变量实现思路

  1. 调用random.randint()生成随机目标数;
  2. 定义计数器记录猜测次数;
  3. 循环接收用户输入,对比数字大小给出提示;
  4. 猜对后终止循环,输出总次数。完整代码见文末,代码可直接运行。
    2. while 循环判断质数

    需求:输入数字,使用while循环判断是否为质数。核心考点while循环、取余运算、逻辑标记、break跳出循环实现思路:质数除了 1 和自身外无其他因数,从 2 开始遍历判断取余结果,若存在余数为 0 的情况,则判定非质数。

    3. BMI 指数计算与判断

    需求:根据身高、体重计算 BMI,并按照标准划分体型。核心考点:浮点数运算、多分支if-elif语句公式:BMI = 体重 (kg) / 身高 (m)²按照区间划分:过轻、正常、过重、肥胖、严重肥胖五大等级。

    4. 月份判断季节

    需求:输入 1-12 月,按照指定规则判断所属季节。核心考点:数值区间判断、条件语句季节规则:3-4 月春季,5-8 月夏季,9-10 月秋季,11、12、1、2 月冬季。5. len(range(1,10))的值是()
    A.8 B.9 C.10 D.11

    考点:range 左闭右开原则range(start,end)包含 start,不包含 end。range(1,10)生成 1、2、3…9,一共 9 个数字,len()结果为 9,答案选 B。

    易错提醒:很多初学者误以为包含 10,牢记区间左取右不取。

    6. 表达式",".join(list)中list是列表类型,以下选项中对其功能的描述正确的是()
    A.将逗号字符串增加到列表list中
    B.在列表list每个元素后增加一个逗号
    C.将列表所有元素连接成一个字符串,每个元素后增加一个逗号
    D.将列表所有元素连接成一个字符串,元素之间增加一个逗号

考点:join()字符串拼接语法。"分隔符".join(列表)列表所有元素拼接成一个字符串,元素中间用分隔符隔开,末尾不加分隔符。A:不会修改原列表;B、C 末尾不加逗号错误;答案选 D。

7. 假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是()
A.[5,6,7,9,11]
B.[6,7,9,11]
C.[5,6,7,9,]
D.[7,9,11,13]

考点:列表切片[起始:终止]依旧左闭右开,下标从 0 开始:下标 3→6,下标 4→7,下标 5→9,下标 6→11,下标 7 取不到。截取:[6,7,9,11],答案 B。

8. 已知x=list(range(20)),那么表达式x[-1]的值为()。
A.0B.1C.20D.19


考点:列表负索引,[-1]永远代表列表最后一位元素。range(20)是 0~19,列表最后一个值 19,选 D。


9. 切片操作list(range(6))[::2]执行结果为()
A.[0,1]B.[0,2,4,6]C.[0,1,2]D.[0,2,4]

range(6)=0,1,2,3,4,5[::2]:从头开始,步长为 2 取值。取值:0、2、4 →[0,2,4],答案 D。

10. 以下程序的输出结果是( ):
k=0
for i in range (4):
for j in range(i+1):
k+=j
if j>1:
break
print(k)
A:5 B:6 C:7 D:8

考点:双层 for 循环 + break,break 只跳出自身内层循环,外层不受影响,逐层模拟运算:

  • i=0,j∈[0]:k=0
  • i=1,j∈[0,1]:k=0+0+1=1
  • i=2,j∈[0,1,2]:j=0→k=1,j=1→k=2,j=2>1,k+=2=4,break 内层
  • i=3,j∈[0,1,2,3]:j=0→k=4,j=1→k=5,j=2>1,k+=2=6,break 内层最终 k=6,答案 B。

更多推荐