第3天:流程控制语句练习
大家好!今天我们学习了Python的流程控制语句,包括条件判断和循环。现在让我们通过一些有趣的练习来巩固这些知识吧!
练习目标
- 掌握
if语句的各种形式和用法 - 学会使用
for循环和while循环 - 理解并能使用
break和continue语句 - 能够编写简单的交互式程序
练习题
练习1:温度分类器
编写一个程序,根据输入的温度对天气进行分类:
- 如果温度 > 35°C,输出"天气炎热"
- 如果 25°C < 温度 <= 35°C,输出"天气温暖"
- 如果 10°C < 温度 <= 25°C,输出"天气宜人"
- 如果 0°C < 温度 <= 10°C,输出"天气凉爽"
- 如果温度 <= 0°C,输出"天气寒冷"
示例输入:30 示例输出:天气温暖
练习2:简单的计算器
编写一个简单的计算器程序,功能如下:
- 输入两个数字
- 输入一个运算符(+、-、*、/)
- 根据运算符对两个数字进行相应的计算
- 输出计算结果
要求:
- 处理除数为零的情况
- 使用
if-elif-else语句实现
示例输入: 5 3 + 示例输出:5 + 3 = 8
练习3:打印图案
使用循环语句打印以下图案:
*
**
***
****
*****要求:使用for循环实现
练习4:计算斐波那契数列
斐波那契数列的定义是:F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2)(n ≥ 2)
编写一个程序,输出前20个斐波那契数。
要求:使用for循环实现
示例输出:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181
练习5:猜拳游戏
编写一个猜拳游戏,功能如下:
- 程序随机选择石头、剪刀或布
- 用户输入自己的选择
- 根据游戏规则判断胜负:
- 石头击败剪刀
- 剪刀击败布
- 布击败石头
- 如果双方选择相同,则平局
- 输出结果
要求:
- 使用
random模块生成随机选择 - 使用
while循环让游戏可以重复进行,直到用户选择退出
示例交互:
===== 猜拳游戏 =====
请输入你的选择(石头/剪刀/布),输入'退出'结束游戏:石头
电脑选择了:剪刀
恭喜你,你赢了!
请输入你的选择(石头/剪刀/布),输入'退出'结束游戏:布
电脑选择了:石头
恭喜你,你赢了!
请输入你的选择(石头/剪刀/布),输入'退出'结束游戏:剪刀
电脑选择了:剪刀
平局!
请输入你的选择(石头/剪刀/布),输入'退出'结束游戏:退出
游戏结束,谢谢参与!挑战题(可选)
如果你觉得上面的练习太简单了,试试这些挑战题:
挑战1:打印九九乘法表
使用嵌套循环打印完整的九九乘法表。
示例输出:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...
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挑战2:找出100以内的所有质数
质数是指大于1的自然数,除了1和它本身外,不能被其他自然数整除的数。编写一个程序,找出100以内的所有质数。
要求:
- 使用
for循环和条件判断 - 尝试优化算法,提高效率
提示:可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)
提交要求
- 将每个练习的代码保存到一个单独的Python文件中
- 在文件开头添加注释,说明这是哪个练习以及练习的目的
- 确保代码能够正常运行,没有语法错误
- 如果你遇到了问题,可以查阅今天的教案或在评论区提问
参考答案(仅供参考,不要直接复制哦!)
练习1参考答案:
python
# 练习1:温度分类器
temperature = float(input("请输入当前温度(°C):"))
if temperature > 35:
print("天气炎热")
elif temperature > 25:
print("天气温暖")
elif temperature > 10:
print("天气宜人")
elif temperature > 0:
print("天气凉爽")
else:
print("天气寒冷")练习2参考答案:
python
# 练习2:简单的计算器
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
operator = input("请输入运算符(+、-、*、/):")
if operator == '+':
result = num1 + num2
print(f"{num1} + {num2} = {result}")
elif operator == '-':
result = num1 - num2
print(f"{num1} - {num2} = {result}")
elif operator == '*':
result = num1 * num2
print(f"{num1} * {num2} = {result}")
elif operator == '/':
if num2 == 0:
print("错误:除数不能为零!")
else:
result = num1 / num2
print(f"{num1} / {num2} = {result}")
else:
print(f"错误:不支持的运算符 '{operator}'")记住,编程的乐趣在于不断尝试和探索。不要害怕犯错,每一次错误都是进步的机会!祝你练习愉快!




