xiaomianlang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一.实验对象:《零基础学Python》第八章的3道实例和4道实战
二.实验环境:IDLE Shell 3.9.7
三.实验要求:学习使用标准模块和第三方模块
四.实验过程:

  • 实例01 创建计算BMI指数的模块
点击查看代码
def fun_bmi(person,height,weight):
    '''功能:根据身高和体重计算BMI指数
           person:姓名
           height:身高,单位:米
           weight:体重,单位:千克
    '''
    print(person+"的身高:"+str(height)+"米\t体重:"+str(weight)+"千克")
    bmi=weight/(height*height)
    print(person+"的BMI指数为:"+str(bmi))
    #此处省略了显示判断结果的代码
def fun_bmi_upgrade(*person):
    '''功能:根据身高和体重计算BMI指数(升级版)
           *person:可变参数该参数中需要传递带3个元素的列表,
           分别为姓名、身高(单位:米)和体重(单位:千克)
    '''
    #此处省略了函数主体代码
  • 实例02 导入两个包括同名函数的模块
点击查看代码
def girth(width,height):
    '''功能:计算周长
          参数:width(宽度)、height(高)
    '''
    return(width+height)*2
def area(width,height):
    '''功能:计算面积
         参数:width(宽度)、height(高)
    '''
    return width*height
if __name__=='__main__':
    print(area(10,20))

点击查看代码
import math
PI=math.pi
def girth(r):
    '''功能:计算周长
           参数:r(半径)
    '''
    return round(2*PI*r,2)
def area(r):
    '''功能:计算面积
          参数:r(半径)
    '''
    return round(PI*r*r,2)
if __name__=='__main__':
    print(girth(10))

点击查看代码
import rectangle as r
import circular as c
if __name__=='__main__':
    print("圆形的周长为:",c.girth(10))
    print("矩形的周长为:",r.girth(10,20))

运行结果:

  • 实例03 在指定包中创建通用的设置和获取尺寸的模块
点击查看代码
_width=800
_height=600
def change(w,h):
    global _width
    _width=w
    global _height
    _height=h
def getWidth():
    global _width
    return _width
def getHeight():
    global _height
    return _height

点击查看代码
from settings.size import *
if __name__=='__main__':
    change(1024,768)
    print('宽度:',getWidth())
    print('高度:',getHeight())

运行结果:

  • 实例04 生成由数字、字母组成的4位验证码
点击查看代码
import random
if __name__=='__main__':
    checkcode=""
    for i in range(4):
        index=random.randrange(0,4)
        if index!=i and index+1!=i:
            checkcode+=chr(random.randint(97,122))
        elif index+1==i:
            checkcode+=chr(random.randint(65,90))
        else:
            checkcode+=str(random.randint(1,9))
    print("验证码:",checkcode)

运行结果:

  • 实战一:大乐透号码生成器
点击查看代码
print("大乐透号码生成器")
import random
number=input("请输入要生成的大乐透号码注数:")
n=int(number)
for i in range(n):
    QQ=random.sample(range(1, 36), 5)
    HQ=random.sample(range(1,13),2)
    print('{:0>2d}'.format(QQ[0]),'{:0>2d}'.format(QQ[1]),'{:0>2d}'.format(QQ[2]),'{:0>2d}'.format(QQ[3]),'{:0>2d}'.format(QQ[4]),"\t",'{:0>2d}'.format( HQ[0]),'{:0>2d}'.format(HQ[1]))


运行结果:

  • 实战二:春节集五福
点击查看代码
import sys
sys.path.append(r"C:\Python\Python39\Lib")
import  random
def Ji_Fu():
    wf=['爱国福','富强福','和谐福','友善福','敬业福']
    fu=random.sample(wf, 1)
    return fu
def wf(fu):
    print('当前拥有的福:')
    for i, j in fu.items():
        print(i,': ',j,'\t',end='')
def WuFu(fu):
    type=1
    for i, j in fu.items():
        if j==0:
          type=0
    return type;
print('开始集福啦~~~')
wufu={'爱国福':0,'富强福':0,'和谐福':0,'友善福':0,'敬业福':0}
while  WuFu(wufu)==0:
    input('\n按下<Enter>键获取五福')
    Strfu=Ji_Fu()[0]
    print('获取到:' +Strfu)
    wufu[Strfu] += 1
    wf(wufu)
print('\n恭喜您集成五福!!!')

运行结果:

  • 实战三:封装用户的上网行为
点击查看代码
import sys
sys.path.append(r"C:\Python\Python39\Lib")
def sw(time):
    print('浏览网页',str(time)+'小时')
    return time
def ksp(time):
    print('看视频',str(time)+'小时')
    return time
def wwlyx(time):
    print('玩网络游戏',str(time)+'小时')
    return time
def swxx(time):
    print('上网学习',str(time)+'小时')
    return time
def Time(time):
    if time>8:
        print("今天上网时间共计"+str(time)+"小时,请保护眼睛,合理安排上网时间!")
    return time
import random
person='小明'
time=0
print(person,'上网时间、行为统计:')
time+=sw(1.5)
time+=ksp(2)
time+=wwlyx(3)
time+=swxx(2)
Time(time)

运行结果:

  • 实战四:计算个人所得税
点击查看代码
import sys
sys.path.append(r"C:\Python\Python39\Lib")
def individual_income_tax(monthly_income):
    '''由月收入计算个人所得税'''
    Monthly_income=input("请输入月收入:")
    Monthly_Income=int(Monthly_income)
    Tax=Monthly_Income*(165/8000)
    print('应纳个人所得税税额为{:.2f}'.format(Tax))
individual_income_tax(8000)

运行结果:

posted on 2022-11-20 10:44  冷狼  阅读(276)  评论(0)    收藏  举报