首页 > 编程语言 >Python第八章实验报告

Python第八章实验报告

时间:2022-11-20 14:11:55浏览次数:34  
标签:__ Python bmi 第八章 height time print 实验报告 def

一、实验题目

Python第八章实例和实战作业

二、实验目的和要求

1.熟悉Pycharm的运行环境

2.学习并掌握Python模块的运用

三、主要仪器设备

联想小新air15

硬件:AMD R7 5700U

软件:Windows11操作系统

四、实验内容

完成第八章实例01-04,8.6实战

利用Pycharm完成Python实验报告

实例01:创建计算BMI指数的模块

代码如下:

(1)创建一个用于根据身高、体重计算BMI指数的模块

 1 def fun_bmi(person,height,weight):
 2     '''功能:根据身高和体重计算bmi指数
 3             person:姓名
 4             height:身高,单位:米
 5             weight:体重,单位:千克
 6     '''
 7     print(person + "的身高" + str(height) + "米 \t 体重:" + str(weight) + "千克")
 8     bmi = weight/(height*height)
 9     print(person + "的BMI指数为:" + str(bmi))       #输出BMI指数
10     # 判断身材是否合理
11     if bmi < 18.5:
12         print("您的体重过轻 ~@_@~\n")
13     if bmi >= 18.5 and bmi <= 24.9:
14         print("正常范围,注意保持 (-_-)\n")
15     if bmi >= 24.9 and bmi < 29.9:
16         print("您的体重过重 ~@_@~\n")
17     if bmi >= 29.9:
18         print("肥胖 ^@_@^\n")
19 def fun_bmi_upgrade(*person):
20     '''功能:根据身高、体重计算BMI指数(升级版)
21         *person:可变参数该参数中需要传递带3个元素的列表,
22         分别为姓名、身高(单位:米)和体重(单位:千克)
23         '''
24     for list_person in person:
25         for item in list_person:
26             person = item[0]  # 姓名
27             height = item[1]  # 身高(单位:米)
28             weight = item[2]  # 体重(单位:千克)
29             print("\n" + "=" * 13, person, "=" * 13)
30             print("身高:" + str(height) + "米 \t 体重:" + str(weight) + "千克")
31             bmi = weight / (height * height)
32             print("您的BMI指数为:" + str(bmi))  # 输出BMI指数
33             # 判断身材是否合理
34             if bmi < 18.5:
35                 print("您的体重过轻 ~@_@~\n")
36             if bmi >= 18.5 and bmi <= 24.9:
37                 print("正常范围,注意保持 (-_-)\n")
38             if bmi >= 24.9 and bmi < 29.9:
39                 print("您的体重过重 ~@_@~\n")
40             if bmi >= 29.9:
41                 print("肥胖 ^@_@^\n")

(2)创建一个名称为main.py的文件

 

1 import bmi                          #导入bmi模块
2 bmi.fun_bmi("尹一伊",1.75,120)      #执行模块中的fun_bmi()函数

 

代码运算结果如下:

 

 

 实例02:导入两个包括同名函数的模块

代码如下:

(1)创建矩形模块

 1 def girth(width,height):
 2     '''功能:计算周长
 3        参数:width(宽度)、height(高度)
 4     '''
 5     return (width + height) * 2
 6 def area(width,height):
 7     '''功能:计算周长
 8        参数:width(宽度)、height(高度)
 9     '''
10     return width * height
11 if __name__ =='__main__':
12     print(area(10,20))

(2)创建圆形模块

 

 1 import math                         #导入标准模块math
 2 PI = math.pi                        #圆周率
 3 def girth(r):
 4     '''功能:计算周长
 5        参数:r(半径)
 6     '''
 7     return round(2 * PI * r, 2)     #计算周长并保留两位小数
 8 def area(r):
 9     '''功能:计算面积
10     参数:r(半径)
11     '''
12     return round(PI * r * r ,2)     #计算面积并保留两位小数
13 if __name__ =='__main__':
14     print(girth(10))

 

(3)创建一个名称为compute.py的文件

 

1 import rectangle as r   #导入矩形模块
2 import circular as c    #导入圆形模块
3 if __name__ == '__main__':
4     print("圆形的周长为:",c.girth(10))        #调用计算圆形周长的函数
5     print("矩形的周长为:",r.girth(10,20))     #调用计算矩形周长的函数

代码运行结果如下:

 

 

 实例03:在指定包中创建通用的设置和获取尺寸的模块

代码如下:

(1)在settings包中,创建一个名称为size的模块

 1 _width = 800            #定义保护类型的全局变量(宽度)
 2 _height = 600           #定义保护类型的全局变量(高度)
 3 def change(w,h):
 4     global _width       #全局变量(宽度)       
 5     _width = w          #重新给宽度赋值
 6     global _height      #全局变量(高度)
 7     _height = h         #重新给高度赋值
 8 def getWidth():         #获取宽度的函数
 9     global _width
10     return _width
11 def getHeight():        #获取高度的函数
12     global _height
13     return _height

(2)在settings包的上一层目录中创建一个名称为main.py的文件

1 from settings.size import *         #导入size模块下的全部定义
2 if __name__ =='__main__':
3     change(1024,768)                #调用change()函数改变尺寸
4     print('宽度:',getWidth())       #输出宽度
5     print('高度:',getHeight())      #输出高度

代码运行结果如下:

 

 

实例04:生成由数字、字母组成的4位验证码
代码如下:
 1 #----------实例04:生成由数字、字母组成的4位验证码----------#
 2 import random
 3 if __name__ =='__main__':
 4     checkcode = ''
 5     for i in range(4):
 6         index = random.randrange(0,4)
 7         if index != i and index + 1 != i:
 8             checkcode += chr(random.randint(97,122))
 9         elif index + 1 == i:
10             checkcode += chr(random.randint(65,90))
11         else:
12             checkcode += str(random.randint(1,9))
13     print("验证码:",checkcode)
代码运行结果如下:
实战一:大乐透号码生成器
代码如下:
 1 #-----------实战一:大乐透号码生成器----------#
 2 from random import sample
 3 def number():
 4     front = sample([str(i) for i in range(1,36)],5)
 5     back = sample([str(i) for i in range(1,13)],2)
 6     space = [" "*6]
 7     group = front + space + back
 8     for i in group:
 9         print(i.zfill(2),end=" ")
10 print("大乐透号码生成器")
11 while True:
12     amount = int(input("请输入要生成的大乐透号码注数:"))
13     for i in range(amount):
14         number()
15         print("")
16     print("")
17     break
代码运行结果如下:


实战二:春节集五福
代码如下:
 1 #----------实战二:春节集五福----------#
 2 import random
 3 #抽五福的方法
 4 def JiWuFu():
 5     wufu = ['爱国福','富强福','和谐福','友善福','敬业福']
 6     fuka = random.sample(wufu,1)
 7     return fuka
 8 #打印当前拥有的所有福
 9 def wufu(fuka):
10     print("当前拥有的福:")
11     for i,j in fuka.items():
12         print(i,':',j,'\t',end = '')
13 #判断是否集齐五福
14 def wufu_ready(fuka):
15     flag = 1
16     for i,j in fuka.items():
17         if j==0:
18             flag = 0
19     return flag
20 print('开始集福啦~~~')
21 fuka = {'爱国福':0,'富强福':0,'和谐福':0,'友善福':0,'敬业福':0}
22 count = 0
23 while wufu_ready(fuka) == 0:
24     input("\n按下<enter>键获取福卡")
25     StrFu = JiWuFu()[0]
26     print('获取了:',StrFu)
27     fuka[StrFu] += 1
28     wufu(fuka)
29     wufu_ready(fuka)
30     count += 1
31 print("\n***五福已经集齐,真是有福之人***")
32 print("一共集福",count,'次')
代码运行结果如下:

 

 

实战三:封装用户的上网行为
代码如下:
 1 #----------实战三:封装用户的上网行为----------#
 2 def web(time):
 3     print("浏览网页:" + str(time) + "小时;")
 4     return time
 5 def video(time):
 6     print("看视频:" + str(time) + "小时;")
 7     return time
 8 def playgame(time):
 9     print("玩网络游戏:" + str(time) + "小时;")
10     return time
11 def study(time):
12     print("上网学习:" + str(time) + "小时;")
13     return time
14 def total(time):
15     print('今天上网共计:' +str(time) + "小时;",end = ' ' )
16     if time >= 8:
17         print("请保护眼睛,合理安排上网时间!")
18     else:
19         print("比较合理,但也要注意休息!")
20 name ='小明'
21 print(name,"上网时间、行为统计:")
22 t1 = web(1.5)
23 t2 = video(2)
24 t3 = playgame(3)
25 t4 = study(2)
26 time =t1 + t2 + t3 + t4
27 total(time)
代码运行结果如下:

 

 

 实战四:计算个人所得税

代码如下:

 1 #----------实战四:计算个人所得税----------#
 2 def tax(money):
 3     low = 3500
 4     baoxian = 7662
 5     yanglao = money * 0.08
 6     yiliao = money * 0.02
 7     shiye = money * 0.005
 8     gongjijin = money * 0.12
 9     summoney = yanglao + yiliao +shiye +gongjijin
10     if summoney >= 7662:
11         summoney = 7662
12     lastmoney = money - summoney - low
13     if lastmoney <= 0:
14         taxes = 0
15     elif 0 < lastmoney < 1500:
16         taxes = lastmoney * 0.03
17     elif 1500 <= lastmoney <= 4500:
18         taxes = lastmoney * 0.1 - 105
19     elif 4500 <= lastmoney < 9000:
20         taxes = lastmoney * 0.2 - 555
21     elif 9000 <= lastmoney < 35000:
22         taxes = lastmoney * 0.25 - 1005
23     elif 35000 <= lastmoney < 55000:
24         taxes = lastmoney * 0.3 - 2002
25     elif 55000 <= lastmoney < 80000:
26         taxes = lastmoney * 0.35 - 5505
27     elif 80000 <= lastmoney:
28         taxes = lastmoney * 0.45 - 13505
29     return taxes
30 
31 m = float(input("请输入月收入:"))
32 taxes = tax(m)
33 print('您应征个人所得税金额为:{:.2f}'.format(taxes))

代码运行结果如下:

 

 

标签:__,Python,bmi,第八章,height,time,print,实验报告,def
From: https://www.cnblogs.com/Shing-gyl/p/16908370.html

相关文章

  • Python算法(进阶)
    1.01背包问题有若干物品,每个物品有对应的重量weight和价值value,背包容纳重量为bag_weight,在背包允许的重量下,往背包内放物品,每个物品只能放一次,保证其价值最高w......
  • python 发送 application/x-www-form-urlencoded 类型的数据包
    在网上百度了很多,坑的要死,基本不咋好用,自己多尝试了几遍,成功实现了。data的构建方式data=f"page={page}&sign={sign}&t={t}"直接这么弄就可以了,不用搞的那么麻烦。......
  • Python第八章实验报告
    一.实验对象:《零基础学Python》第八章的3道实例和4道实战二.实验环境:IDLEShell3.9.7三.实验要求:学习使用标准模块和第三方模块四.实验过程:实例01创建计算BMI指数的......
  • aws dynamodb python boto3 调用方法
    dynamodb=boto3.resource('dynamodb')是boto3的高级接口,更底层的有:importboto3dynamodb_client=boto3.client('dynamodb')res=dynamodb_client.list_tables()......
  • Python OpenCV给证件照换底色
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 力扣744(java&python)- 寻找比目标字母大的最小字母(简单)
    题目:给你一个排序后的字符列表letters,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循......
  • Python3-实战
    实战01(模拟支付宝蚂蚁森林的能量产生过程)1print("查询能量请输入能量来源!退出程序请输入0")2source=input("能量来源如下:\n生活缴费,行走捐,共享单车,线下支付,网......
  • python面试题常用语句
    一、比较与交换1.比较并输出大的print(aifa>belseb)2.交换两个元素a,b=b,alist1[i],list[j]=list1[j],list[i] 二、排序1.字符串排序s='aaccbgd'pri......
  • python课本学习第六章
    一、字典的概念#示例代码student={'name':'xx','name':'yy','grade1':98.1,'grade':99.2}print(student)#output:{'name':'yy','grade1':98.1,'grade':99.2}字典的......
  • python爬虫某东商品销售数据
    经典四步曲:1、查找有效URL,分析是静态数据还是动态数据,分析数据的格式。2、编写python代码,向服务器发送请求,获取数据。3、解析数据4、保存数据importrequestsimportjson......