Python 编程实践课学习笔记

一、前言

恭喜你完成了好几道有趣的 Python 编程题!这节课我们通过实际题目练习,掌握了分支结构(if - elif - else)、循环结构(for 循环 )在解决实际问题中的运用,超厉害!继续加油,编程能力会越来越强~

二、知识点回顾与代码详解

(一)闰年与平年判断(练 22.1 )

功能:输入年份,判断是闰年还是平年(闰年规则:四年一闰,百年不闰,四百年再闰 )

# 获取用户输入的年份,转换为整数类型
y = int(input())  
# 判断是否为闰年的条件:
# 能被 100 整除时,必须同时能被 400 整除;不能被 100 整除时,能被 4 整除
if (y % 100 == 0 and y % 400 == 0) or (y % 100 != 0 and y % 4 == 0):  
    print("%d是闰年" % y)  # 满足条件,输出是闰年
else:
    print("%d是平年" % y)  # 不满足,输出是平年

代码解释

  • input()获取用户输入,int()转成整数存到y里。
  • 复杂的条件判断,用and(逻辑与,两边都满足才为真 )、or(逻辑或,满足其一就为真 )组合,精准判断闰年,厉害吧!根据判断结果,用print输出对应内容。

(二)骑车与走路快慢对比(练 19.4 )

功能:根据办事距离,对比骑车和走路谁更快,输出结果(考虑找车、开锁等时间 )

# 获取距离,转成整数
s = int(input())  
# 计算骑车总时间:找车开锁 27 秒 + 停车锁车 23 秒 + 路程/骑车速度(3.0 米/秒 )
zixingche = 27 + 23 + s / 3  
# 计算步行时间:路程/步行速度(1.2 米/秒 )
zoulu = s / 1.2  
if zixingche < zoulu:
    print("Bike")  # 骑车时间短,输出 Bike
elif zixingche > zoulu:
    print("Walk")  # 步行时间短,输出 Walk
else:
    print("All")  # 时间一样,输出 All

代码解释

  • 先算骑车和步行各自的总时间,骑车要加上额外的 27 + 23 秒。
  • if - elif - else多分支判断,根据时间对比结果输出,把实际生活场景转化成代码逻辑,你做到啦,超棒!

(三)简单计算器(例 23.3 )

功能:支持 +、-、*、/ 运算,处理除数为 0、操作符无效情况

# 获取输入,按空格分割成三个部分,分别存到 a、b、c(操作符 )
a, b, c = input().strip().split()  
a = int(a)  # 转成整数
b = int(b)
if c == "+":
    print(a + b)  # 加法运算
elif c == "-":
    print(a - b)  # 减法运算
elif c == "*":
    print(a * b)  # 乘法运算
elif c == '/':
    if b == 0:  # 先判断除数是否为 0
        print("Divided by zero!")  # 除数为 0,输出提示
    else:
        print(a // b)  # 整除运算,输出整数结果
else:
    print("Invalid operator!")  # 操作符无效,输出提示

代码解释

  • input().strip().split()把输入按空格拆开,分别赋值。
  • 多层if - elif - else,先判断操作符,除法时额外判断除数b是否为 0,避免程序出错,考虑得很周全,厉害!根据不同情况输出运算结果或错误提示。

(四)满足条件的数累加(练 28.2 )

功能:计算 m 到 n 之间(0 < m < n < 1000 )能被 17 整除的数的累加和

# 获取 m 和 n,转成整数列表
m, n = list(map(int, input().split()))  
cnt = 0  # 用来存累加的和,初始化为 0
# 循环遍历从 m 到 n 的每个数
for i in range(m, n + 1):  
    if i % 17 == 0:  # 判断是否能被 17 整除
        cnt += i  # 能整除就加到 cnt 里
print(cnt)  # 输出累加结果

代码解释

  • input().split()按空格拆分输入,map(int,...)转成整数,list()存到mn
  • for循环用range(m, n + 1)遍历所有数,if判断能否被 17 整除,满足就累加到cnt。最后输出总和,把循环和条件判断结合,你掌握得不错哟!

三、总结与鼓励

这节课我们用 Python 解决了“闰年判断”“出行方式对比”“简单运算”“数值累加”这些实际问题,你成功运用了分支、循环结构,代码逻辑清晰,超厉害!

编程就是不断解决问题、积累经验的过程,你已经迈出超棒的一步啦~后续还有“计算邮资”“画矩形”等题目等你挑战,别害怕,大胆去做,遇到问题多思考(或者回头看笔记、查资料 ),你会越来越厉害,成为 Python 编程小能手!继续加油,期待你更精彩的代码哟~

0 条评论

目前还没有评论...