练习1:阶乘计算器
编写一个程序,让用户输入一个正整数n,然后程序计算n的阶乘(n!)。n! = 1 * 2 * 3 * … * n。
提示: 使用 for 循环和一个初始为1的累乘变量。
核心思路: 使用for循环和累乘变量。
- 初始化一个变量result为1。
- 使用for循环,从1到n(包括n)遍历每个数字。
- 在循环中,将当前数字乘到result上。
- 循环结束后,打印result。
# 阶乘计算器:计算n! = 1×2×3×...×n
# 获取用户输入的正整数n
n = int(input("请输入一个正整数n: "))
# 初始化累乘变量(阶乘从1开始累积)
factorial = 1
# 使用for循环计算阶乘(从1到n依次相乘)
for i in range(1, n + 1):
factorial *= i # 等价于 factorial = factorial * i
# 打印结果
print(f"{n}的阶乘是: {factorial}")
代码说明:
- 输入处理:通过input()获取用户输入,转换为整数n(确保是正整数)。
- 累乘变量初始化:factorial初始值设为 1(由于 1 是乘法的单位元,不会影响初始乘积)。
- 循环计算:range(1, n + 1)生成 1 到 n 的整数序列(包含 n),for 循环依次将每个整数与factorial相乘,实现阶乘累积。当 n=5 时,循环过程为:1×1 → 1×2 → 2×3 → 6×4 → 24×5,最终结果为 120。
- 输出格式:使用 f-string 按照示例格式输出结果,清晰展示计算结果。
如果输入 n=0 或 n=1,程序也能正确输出结果(0! 和 1! 均为 1),逻辑完整
练习2:寻找最大值
编写一个程序,让用户连续输入5个数字,然后找出这5个数字中的最大值并打印。
提示: 在循环外设置一个变量 max_number 初始值很小(如第一个输入的数字),然后在循环中每次输入新数字时,比较它和 max_number 的大小,如果新数字更大,就更新 max_number。
示例运行效果:
请输入第1个数字: 10
请输入第2个数字: 25
请输入第3个数字: 8
请输入第4个数字: 40
请输入第5个数字: 15
这5个数字中最大值是: 40
以下是实现 “寻找最大值” 的程序,按照提示思路设计,符合示例运行效果
# 寻找5个数字中的最大值
# 初始化最大值变量(先获取第一个数字作为初始值)
max_number = float(input(f"请输入第1个数字: "))
# 循环获取剩下的4个数字(共5个)
for i in range(2, 6): # i从2到5,对应第2到第5个数字
current = float(input(f"请输入第{i}个数字: "))
# 比较当前数字与最大值,若更大则更新最大值
if current > max_number:
max_number = current
# 打印结果
print(f"这5个数字中最大值是: {max_number}")
代码说明:
- 初始值设置:将第一个输入的数字直接赋值给max_number,作为初始最大值(避免使用固定的 “很小的值”,更灵活)。
- 循环输入与比较:用range(2, 6)控制循环 4 次,分别获取第 2 到第 5 个数字。每次输入后,通过if current > max_number判断:若当前数字更大,则更新max_number为当前数字。
- 数据类型:使用float()转换输入,支持小数(如输入 3.5、9.8 等也能正确比较)。
- 输出格式:严格按照示例格式打印结果,清晰展示最大值。
程序逻辑通用,若需修改输入数字的数量(如改为 8 个),只需调整range(2, 6)为range(2, 9)即可。
练习3(挑战):打印九九乘法表
使用嵌套的 for 循环(一个循环 inside 另一个循环)打印出我们熟悉的九九乘法表。
提示: 外层循环变量 i 从1到9,控制行数。内层循环变量 j 从1到i,控制每行打印的列数。
示例运行效果(部分):
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
以下是使用嵌套 for 循环实现的九九乘法表程序,完全符合提示思路和示例格式:
python
# 打印九九乘法表
# 外层循环控制行数(i从1到9)
for i in range(1, 10):
# 内层循环控制每行的列数(j从1到i,确保每行最多i个式子)
for j in range(1, i + 1):
# 打印乘法式子,用end=" "保持在同一行(不换行)
print(f"{j}*{i}={j*i}", end=" ")
# 每行结束后换行
print()
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
代码说明:
- 外层循环(i):range(1, 10) 生成 1 到 9 的数字,控制乘法表的行数(共 9 行),i代表每行乘法式子中的第二个数(如第 3 行的*3)。
- 内层循环(j):range(1, i + 1) 生成 1 到 i 的数字,控制每行的列数(第 i 行有 i 个式子),j代表每个式子中的第一个数(如1*3中的 1)。
- 打印控制:内层循环用 end=” ” 确保同一行的式子用空格分隔,不换行。内层循环结束后,用 print() 单独换行,开始下一行的打印。
- 格式匹配:每个式子严格按照 j*i=j*i 的格式(如2*3=6),与示例效果一致,完整呈现九九乘法表的规律。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录



收藏了,感谢分享