- Python
Python 基础编程实践学习笔记
- 2025-7-26 10:20:37 @
Python 基础编程实践学习笔记
一、前言
这些题目围绕 Python 基础语法(输入输出、循环、条件判断 )展开,通过解决实际小问题,能帮我们熟悉 Python 编程思路,掌握数字处理、逻辑判断等常用操作,快来一起学习吧!
二、知识储备
(一)输入输出
input()
:获取用户在控制台输入的内容,得到的是字符串类型,如需数字等其他类型,要进行转换,比如int(input())
转成整数 。print()
:在控制台输出内容,end
参数可指定输出末尾的字符,默认是换行符\n
,像print(内容, end=" ")
能让输出后不换行,用空格结尾 。
(二)循环结构
while
循环:只要条件为True
就重复执行代码块,条件一般是和变量变化相关的表达式,比如while n != 0:
,随着n
的值改变,控制循环何时停止 。for
循环:常用于遍历序列(列表、 range 生成的序列等 ),for i in range(1, n+1)
里,range(1, n+1)
会生成从 1 到n
的整数序列,依次赋值给i
执行循环体 。
(三)条件判断
if-elif-else
语句:根据不同条件执行不同代码块,条件表达式结果为True
时,对应的代码块就会执行,可用来处理多种分支情况,比如根据月份、年份是否为闰年判断天数,根据重量、是否加急计算邮费等 。
(四)算术运算
- 取余运算
%
:计算除法的余数,像n % 10
能拿到整数n
的个位数字 。 - 整除运算
//
:对除法结果向下取整,n // 10
可去掉整数n
的个位数字 。
三、题目实战与解析
(一)分离整数的各个数位
题目要求:输入一个整数,从个位开始分离出每一位数字,按低位到高位输出,数字间用空格分隔。
代码实现:
# 获取用户输入的整数,转成 int 类型
n = int(input())
# 当 n 不等于 0 时,持续循环分离数字
while n != 0:
# % 是取余运算,n % 10 得到 n 的个位数字,end=" " 让输出后用空格隔开,不换行
print(n % 10, end=" ")
# // 是整除运算,n // 10 去掉 n 的个位数字,更新 n 的值
n = n // 10
代码解析:
- 先通过
input()
获取输入并转成整数n
。 while
循环判断n
是否为 0,不为 0 就执行循环体。n % 10
拿到个位数字输出,n = n // 10
把n
去掉个位,下次循环处理剩下的高位数字,直到n
变成 0,循环结束,这样就从低位到高位把每一位数字分离输出啦。
(二)求阶乘的和
题目要求:输入正整数n
(1 < n < 12
),计算1! + 2! + 3! + … + n!
的和并输出。
代码实现:
# 获取输入的整数 n
n = int(input())
# 初始化阶乘和为 0
sum_result = 0
# 外层 for 循环,i 从 1 到 n 依次取值,计算每个数的阶乘
for i in range(1, n + 1):
# 初始化每个数的阶乘为 1,因为 1 的阶乘是 1,乘法起始值设为 1 合理
jie = 1
# 内层 for 循环,计算 i 的阶乘,j 从 1 到 i 依次相乘
for j in range(1, i + 1):
jie = jie * j
# 把每个数的阶乘加到总和里
sum_result += jie
# 输出最终阶乘的和
print(sum_result)
代码解析:
- 外层
for
循环控制要计算阶乘的数(从 1 到n
)。 - 内层
for
循环通过累乘计算单个数字的阶乘,比如i=3
时,j
从 1 到 3,jie = 1*1*2*3
得到 3 的阶乘 。 - 每次算出一个数的阶乘,就加到
sum_result
里,循环结束后,sum_result
就是所有阶乘的和,最后输出。
(三)计算邮资
题目要求:根据邮件重量和是否加急算邮费。重量 1000 克内(含 1000 克 )基本费 8 元;超 1000 克部分,每 500 克加 4 元,不足 500 克按 500 克算;加急(字符y
)多收 5 元,不加急(字符n
)不收。
代码实现:
# 拆分输入,分别拿到重量(转成整数)和是否加急的字符
zhong, jia = input().split()
zhong = int(zhong)
# 初始化邮费为 0
p = 0
# 判断重量是否在 1000 克及以内
if zhong <= 1000:
p = 8
else:
# 算出超过 1000 克的部分
zhong = zhong - 1000
# 判断超出部分除以 500 是否是整数,是整数的情况
if int(zhong / 500) == zhong / 500:
p = 8 + int(zhong / 500) * 4
else:
# 不是整数,按多一个 500 克算,所以要 +1
p = 8 + (int(zhong / 500) + 1) * 4
# 判断是否加急,是(字符 y )的话邮费加 5
if jia == 'y':
p += 5
# 输出最终邮费
print(p)
代码解析:
- 先用
split()
拆分输入,把重量转成整数zhong
,拿到是否加急的字符jia
。 - 条件判断重量是否超 1000 克,没超就直接设邮费为 8 元;超了就先算超出部分,再判断超出部分对应几个 500 克,算出超重费用,加上基础费 8 元得到基础邮费 。
- 最后看是否加急,加急就给邮费加 5 元,然后输出最终邮费。
(四)每月天数
题目要求:输入年份和月份,输出该月的天数,要考虑平年、闰年对 2 月天数的影响。
代码实现:
# 拆分输入的年和月,转成整数
y, m = list(map(int, input().split()))
# 先假设 2 月是平年,天数 28 天
two = 28
# 判断是否是闰年,更新 2 月天数
if (y % 100 == 0 and y % 400 == 0) or (y % 100 != 0 and y % 4 == 0):
two = 29
# 判断月份是不是 2 月,是就输出对应的 2 月天数
if m == 2:
print(two)
# 判断是不是 1、3、5、7、8、10、12 月,这些月有 31 天
elif m == 1 or m == 3 or m == 5 or m == 7 or m == 8 or m == 10 or m == 12:
print(31)
# 剩下的月份(4、6、9、11 月 ),有 30 天
else:
print(30)
代码解析:
map(int, input().split())
把输入的年和月转成整数,用list
转成列表后拆分成y
(年 )和m
(月 ) 。- 先假设 2 月是平年 28 天,然后通过条件判断年份是否为闰年(整百年能被 400 整除,非整百年能被 4 整除 ),是闰年就把
two
改成 29 。 - 接着用
if-elif-else
根据月份判断天数,2 月输出two
(平年 28、闰年 29 ),1、3 等月份输出 31,剩下的输出 30 。
四、总结
通过这几个题目,我们练习了 Python 输入输出、循环、条件判断的基本用法,还结合算术运算处理数字分离、阶乘计算、邮费规则、月份天数判断等场景。要多动手练习,熟练掌握这些基础语法,后续遇到更复杂编程问题也能轻松应对,继续加油呀,多敲代码就能越来越厉害!
1 条评论
-
admin SU @ 2025-7-26 10:22:46
Python 判断平年和闰年教程
一、什么是平年和闰年
小朋友们,我们都知道一年有 365 天或者 366 天。其中一年有 365 天的年份叫做平年,一年有 366 天的年份叫做闰年。那为什么会有这样的区别呢?主要是因为地球绕太阳转一圈的时间并不是刚好 365 天,而是大约 365.24219 天,为了让我们的日历和地球公转的时间更接近,就有了平年和闰年的规定。
在闰年的时候,多出来的一天会加在 2 月份,平年的 2 月有 28 天,闰年的 2 月有 29 天哦。
二、判断平年和闰年的规则
判断一个年份是平年还是闰年,有这样的规则:
- 普通的年份(不是整百数的年份,比如 2024 年、2031 年 ),如果能被 4 整除,那这个年份就是闰年;如果不能被 4 整除,就是平年 。比如 2024 除以 4 等于 506,没有余数,所以 2024 年是闰年 。
- 当遇到整百数的年份(年份末尾是两个 0 的,像 1900 年、2000 年 ),就需要能被 400 整除才是闰年,要是不能被 400 整除,那就是平年 。比如说 1900 除以 400 等于 4.75,不能整除,所以 1900 年是平年;而 2000 除以 400 等于 5,可以整除,所以 2000 年是闰年 。
三、用 Python 代码判断平年和闰年
下面我们就用 Python 来写一段程序,让电脑帮我们判断一个年份是平年还是闰年。
# 让小朋友输入一个年份,input() 函数会获取小朋友在键盘上输入的内容, # 因为输入的内容默认是文字(字符串)类型,所以我们用 int() 函数把它转换成数字(整数)类型,方便后续计算 year = int(input("小朋友,请输入一个年份,让我们来看看它是平年还是闰年吧:")) # 用条件判断语句 if 来判断年份是不是整百数 if year % 100 == 0: # 如果是整百数,再判断它能不能被 400 整除 if year % 400 == 0: print(year, "年是闰年") else: print(year, "年是平年") else: # 如果不是整百数,就判断它能不能被 4 整除 if year % 4 == 0: print(year, "年是闰年") else: print(year, "年是平年")
代码解析:
- 第一行代码
year = int(input("小朋友,请输入一个年份,让我们来看看它是平年还是闰年吧:"))
,就好像我们在问小朋友“你想判断哪个年份呀?”,小朋友输入的年份,电脑会先把它当成一串文字,然后int()
函数就像一个小魔法,把这串文字变成数字,存到year
这个小盒子(变量 )里。 - 接下来的
if
语句if year % 100 == 0:
,是在看这个年份是不是整百数。%
这个符号在 Python 里叫取余符号,year % 100
就是算year
除以 100 以后剩下的数。如果剩下的数是 0,那就说明这个年份是整百数,比如 2000 除以 100 没有余数,就是整百数 。 - 当判断出是整百数后,再用里面的
if
语句if year % 400 == 0:
判断它能不能被 400 整除。要是能整除,就打印(显示 )出这个年份是闰年;要是不能整除,就打印出这个年份是平年 。 - 如果一开始判断出来不是整百数,就执行
else
后面的代码,用if year % 4 == 0:
判断它能不能被 4 整除,能被 4 整除就是闰年,不能被 4 整除就是平年 。
四、总结
小朋友们,通过上面的代码,我们就可以让电脑快速地帮我们判断一个年份是平年还是闰年啦。记住判断的规则,多动手试试,以后遇到关于年份的问题,你就能轻松解决啦!
- 1