Python实验报告——第3章 流程控制语句
阅读原文时间:2023年07月11日阅读:1

【实验目的】

1.掌握python中流程控制语句的使用,并能够应用到实际开发中。

【实验条件】

1.PC机或者远程编程环境

【实验内容】

1.完成第三章流程控制语句实例01-09,实战一到实战四。

实例01:判断输入的是不是黄蓉所说的数

  使用 if 语句判断用户输入的数字是不是黄蓉所说的除以三余二,除以五余三,除以七余二的数。

代码如下:

1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
2 number = int(input("请输入您认为符合条件的数:"))
3 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
4 print(number, "符合条件:三三数之剩二,五五数之剩三,七七数之剩二")

运行结果如下:

实例02:验证瑛姑给出的答案是否正确

  使用 if…else 语句判断用户输入的数字是不是黄蓉所说的除以三余二,除以五余三,除以七余二的数,并给予相应的提示。

代码如下:

1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
2 number = int(input("请输入瑛姑给出的数:"))
3 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
4 print(number, "符合条件")
5 else:
6 print(number, "不符合条件")

运行结果如下:

实例03:输出玫瑰花语

  使用 if…elif…else多分支语句实现根据用户输入的玫瑰花的朵数输出其代表的含义。

代码如下:

1 print("在古希腊神话中,玫瑰集爱情与美丽于一身,所以人们常用玫瑰来表达爱情。")
2 print("但是不同朵数的玫瑰花代表的含义是不同的。\n")
3 number = int(input("输入您想送几朵玫瑰花,小默会告诉您含义:"))
4 if number == 1:
5 print("1朵:你是我的唯一!")
6 elif number == 3:
7 print("3朵: I Love you!")
8 elif number == 10:
9 print("10朵:十全十美!")
10 elif number == 99:
11 print("99朵:天长地久!")
12 elif number == 108:
13 print("108朵:求婚!")
14 else:
15 print("小默也不知道了!可以考虑送1朵、3朵、10朵、99朵或108朵哟!")

运行结果如下:

实例04:判断是否为酒后驾车

  通过使用嵌套的if语句实现根据输入的酒精含量值判断是否为酒后驾车的功能。

代码如下:

1 print("\n为了您和他人的安全,严禁酒后开车!\n")
2 proof = int(input("请输入每100毫升血液的酒精含量:"))
3 if proof < 20:
4 print("\n您还不构成饮酒行为,可以开车,但要注意安全!")
5 else:
6 if proof < 80:
7 print("\n已经达到酒后驾驶标准,请不要开车!")
8 else:
9 print("\n已经达到醉酒驾驶标准,千万不要开车!")

运行结果如下:

实例05:助力瑛姑:while循环版解题法

  使用while循环语句实现从1开始依次尝试符合条件的数,直到找到符合条件的数时,才退出循环。具体的实现方法是:首先定义一个用于计数的变量number和一个作为循环条件的变量none(默认值为真),然后编写while循环语句,在循环体中,将变量number的值加1,并且判断number的值是否符合条件,当符合条件时,将变量none设置为假,从而退出循环。

代码如下:

1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
2 none = True
3 number = 0
4 while none:
5 number += 1
6 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
7 print("答曰:这个数是", number)
8 none = False

运行结果如下:

实例06:助力瑛姑:while循环版解题法

  使用for循环语句实现从1循环到100(不包含100),并且记录符合黄蓉要求的数。具体的实现方法是:应用for循环语句从1迭代到99,在循环体中,判断迭代变量number是否符合

“三三数之剩二,五五数之剩三,七七数之剩二”的要求,如果符合则应用print()函数输出,否则继续循环。

代码如下:

1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
2 for number in range(100):
3 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
4 print("答曰:这个数是", number)

运行结果如下:

实例07:打印倒九九乘法表

  使用嵌套的for循环打印倒九九乘法表。

代码如下:

1 for i in range(9, 0, -1):
2 for j in range(i, 0, -1):
3 print(str(j) + "x" + str(i) + "=" + str(i * j) + "\t", end='')
4 print('')

运行结果如下:

实例08:助力瑛姑:for循环版改进版解题法

  在实例06的最后一行代码下方再添加一个break语句,即可实现找到符合要求的数后直接退出for循环。

代码如下:

1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")
2 for number in range(100):
3 if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
4 print("答曰:这个数是", number)
5 break

运行结果如下:

实例09:逢七拍腿游戏

  通过在for循环中使用continue语句实现计算拍腿次数,即计算从1到100(不包括100),一共有多少个尾数为7或7的倍数这样的数。

代码如下:

1 total = 99
2 for number in range(1, 100):
3 if number % 7 == 0:
4 continue
5 else:
6 string = str(number)
7 if string.endswith('7'):
8 continue
9 total -= 1
10 print("从1数到99共拍腿", total, "次")

运行结果如下:

实战一:模拟支付宝蚂蚁森林的能量产生过程

  支付宝的蚂蚁森林通过日常的走步、生活缴费、线下支付、网络购票、共享单车等低碳、环保行为可以积攒能量,当能量达到一定数量后,可以种一颗真正的树。

本实战将模拟支付宝蚂蚁森林的能量生产过程。效果如图所示:

代码如下:

1 for i in range(100):
2 print("""能量查询请输入能量来源!退出程序请输入0
3 能量来源如下:
4 生活缴费、行走捐、共享单车、线下支付、网络购票""")
5 res = input()
6 if res == '生活缴费':
7 print("100g")
8 continue
9 elif res == '行走捐':
10 print("200g")
11 continue
12 elif res == '共享单车':
13 print("300g")
14 continue
15 elif res == '线下支付':
16 print("400g")
17 continue
18 elif res == '网络购票':
19 print("500g")
20 continue
21 elif res =='0':
22 print("已退出!")
23 break
24 else:
25 continue

运行结果如下:

实战二:猜数字游戏

  编写一个猜数字的小游戏,随机生成一个1到10之间(包括1和10)的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字与基准数相同,则成功过关,否则重新输入。

如果玩家输入-1,则表示退出游戏。效果如图所示:

代码如下:

1 print("-------------猜数字游戏----------------")
2 import random
3 res = random.randint(1, 10)#随机生成1~10种的一个数
4 while True:
5 num = int(input("请输入1~10之间的任意一个数:"))
6 if num < 1 or num > 10:
7 print("输入有误,请输入1~10之间的任意一个数。")
8 break
9 if num > res:
10 print("太大,请重新输入:")
11 elif num < res:
12 print("太小,请重新输入:")
13 else:
14 print("恭喜你,你赢了,猜中的数字是:", str(res))
15 break

运行结果如下:

实战三:模拟“跳一跳”小游戏的加分块

  “跳一跳”小游戏提供了一些加分块,当跳到这些加分块上时,会有额外的加分。本实战将模拟“跳一跳”小游戏,实现输入不同的加分快,显示应加的分数,效果如图所示:

代码如下:

1 print("-----------跳一跳--------------")
2 print("欢迎回来,请开始游戏……")
3 print("请输入(中心、音乐块、微信支付块):")
4 count = 0
5 while True:
6 res = input("请输入:")
7 if res == '中心':
8 count += 2
9 print("您的分数为:", count)
10 elif res == '音乐块':
11 count += 30
12 print("您的分数为:", count)
13 elif res == '微信支付块':
14 count += 10
15 print("您的分数为:", count)

运行结果如下:

实战四:模拟10086查询功能

编写Python程序,模拟10086自助查询系统的功能:

输入1,显示您当前的余额;

输入2,显示您当前剩余的流量,单位为G;

输入3,您当前的剩余通话,单位为分钟;

输入0,退出自助查询系统。

效果如图所示:

代码如下:

1 print("---------------10086查询系统---------------")
2 print("输入1,查询当前余额\n"
3 "输入2,查询剩余流量\n"
4 "输入3,查询当前剩余通话\n"
5 "输入0,退出自助查询系统!\n")
6 while True:
7 num = input()
8 if num == "1":
9 print("当前余额为999元")
10 elif num == "2":
11 print("当前剩余流量为5G")
12 elif num == "3":
13 print("当前剩余通话为189分钟")
14 elif num == "0":
15 print("退出自助查询系统!")
16 break

运行结果如下:

【实验结果与分析】

1.本次实验主要学习Python中的选择语句、循环语句等流程控制语句。

2.重点掌握学习Python中控制流程语句的使用,并能够应用到实际开发中。