实例01

def fun_bmi(person,height,weight):
    '''功能:根据身高和体重计算BMI指数
        person:姓名
        height:身高,单位:米
        weight:体重,单位:千克
    '''
    print(person +"的身高:"+str(height)+"米\t 体重:"+str(weight)+"千克")
    bmi=weight/(height*height)                      #用于计算BMI指数,公式为:体重/身高的平方
    print(person +"的BMI指数为:"+str(bmi))         #输出BMI指数
    #此处省略了显示判断结果的代码
def fun_bmi_upgrade(*person):
    '''功能:根据身高和体重计算BMI指数(升级版)
        *person:可变参数该参数中需要传递3个元素的列表,
        分别为姓名、身高(单位:米)和体重(单位:千克)
    '''
    #此处省略了函数主题代码

无结果

实例02(1)

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))

结果

200

(2)

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

结果

62.83

实例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 _heightif __name__ == '__main__':  # 测试代码
    change(1024,768)       # 调用change()函数
    print("宽度:",getWidth())      # 输出宽度
    print("高度:",getHeight())     # 输出高度

结果

宽度: 1024
高度: 768

实例04

import random # 导入标准模块中的random
if __name__=='__main__':
    checkcode = ""                      # 保存验证码的变量
    for i in range(4):                  # 循环4次
        index =random.randrange(0,4)    # 生成0~3中的一个数
        if index != i and index+1 != i:
            checkcode += chr(random.randint(97,122))  # 生成a~z中的一个小写字母
        elif index+1 == i:
            checkcode += chr(random.randint(65,90))   # 生成A~Z中的一个大写字母
        else:
            checkcode += str(random.randint(1,9))     # 生成1~9中的一个数字
    print("验证码:",checkcode)        # 输出生成的验证码

结果

验证码: wzub

实战1

import random
def number():
    a=[random.randint(1,35) for i in range(5)]
    l=[]
    for i in a:
        if i not in l:
            l.append(i)
        else:
            i=random.randint(1,35)
            l.append(i)
        l.sort() 
    a=[str(i) for i in l]
    b=[random.randint(1,12) for i in range(2)]
    o=[]
    for i in b:
        if i not in o:
            o.append(i)
        else:
            i=random.randint(1,12)
            o.append(i)
        o.sort()    
    b=[str(i) for i in o]
    c=[" "*5]
    for i in range(5):
        if len(a[i])==2:
            for j in range(2):
                if len(b[j])==2:
                    pass 
                else:
                    b[j]='0'+b[j]
        else:
            a[i]='0'+a[i]    
    g=a+c+b
    for i in g:
        print(i,end=" ")
print("大乐透号码生成器")
k=int(input("请输入要生成的大乐透号码注数:"))
for i in range(k):
    number()
    print("")

结果

大乐透号码生成器
请输入要生成的大乐透号码注数:5
06 11 20 21 27 07 09
04 05 11 22 29 02 05
03 04 07 21 32 02 06
02 08 09 12 21 02 09
01 05 13 15 16 04 08

实战2

import random
# 抽五福的方法
def Jifu():
    fus = ['爱国福', '富强福', '和谐福', '友善福', '敬业福']
    fu = random.sample(fus, 1)
    return fu# 打印当前拥有的所有福
def fus(fu):
    print('当前拥有的福:')
    # 字典的键值对遍历方法 打印福卡
    for i, j in fu.items():
        print(i, ':', j, '\t', end='')
# 判断是否集齐五福
def fu_ready(fu):
    # 设置一个集齐的标识flag,等于1表示集齐了
    flag = 1
    for i,j in fu.items():
        if j == 0:     # 有一个福卡的数量为0
            flag = 0   # 标识为0,可以继续集福
    return flag
import JiFu
print('开始集福了…………')
# 定义一个五福字典 保存用户的福卡
fu = {'爱国福': 0, '富强福': 0, '和谐福': 0, '友善福': 0, '敬业福': 0}
# 用一个while语句循环获取五福,直到集齐为止
count = 0   # 设置一个计数器,记录集福的次数
while JiFu.fu_ready(fu) == 0:  # 集齐标识为0
    input("\n按下<enter>键获取福卡:")
    getfu = JiFu.Ji_fu()[0]    # 进行抽卡
    print('获取了:', getfu)
    fu[getfu] += 1             # 将抽到的卡加入五福字典,相应数量+1
    JiFu.fus(fu)               # 调用方法打印当前拥有的五福
    JiFu.fu_ready(fu)          # 调用方法判断是否集齐
    count +=1
print("\n***五福已经集齐,真是有福之人***")
print("一共集福",count,'次')

实战3

# 网页浏览时间统计
def web(time):
    print("浏览网页:"+str(time)+"小时;")
    return time
# 看视频时间统计
def video(time):
    print("看视频:"+str(time)+"小时;")
    return time
# 玩网络游戏时间统计
def playgame(time):
    print("玩网络游戏:"+str(time)+"小时;")
    return time
# 上网学习时间统计
def study(time):
    print("上网学习:"+str(time)+"小时。")
    return time
# 合计上网时间统计
def total(time):
    print('今天上网时间共计:'+str(time)+"小时,",end=' ')
    if time >= 8:
        print("有点超时,请注意保护眼睛,合理安排上网时间!")
    else:
        print("比较合理,但也要注意休息!")
# 导入自定义模块
import Net
name = '小明'
print(name, '上网时间、行为统计……')
t1 = Net.web(1.5)
t2 = Net.video(2)
t3 = Net.playgame(0)
t4 = Net.study(2)
time = t1 + t2 + t3 + t4
Net.total(time)

实战4

# 根据月收入算个税模块
def tax(monthmoney):
    # 最低起征点3500
    ds = 3500
    baoxian = 7662
    # 养老保险
    yanglao = monthmoney * 0.08
    # 医疗保险
    yiliao = monthmoney * 0.02
    # 失业保险
    shiye = monthmoney * 0.005
    # 公积金
    housem = monthmoney * 0.12
    # 计算三险一金总额,如超过上限按上限算
    demoney = yanglao + yiliao + shiye + housem
    if demoney >= 7662:
        demoney = 7662
    # 计算应征税额
    lastmoney = monthmoney - demoney - ds
    # 按不同档次征税,定义税额taxes
    if lastmoney <= 0:
        taxes = 0
    elif 0< lastmoney < 1500:
        taxes = lastmoney * 0.03
    elif 1500 <= lastmoney < 4500:
        taxes = lastmoney * 0.1 - 105
    elif 4500 <= lastmoney < 9000:
        taxes = lastmoney * 0.2 - 555
    elif 9000 <= lastmoney < 35000:
        taxes = lastmoney * 0.25 - 1005
    elif 35000 <= lastmoney < 55000:
        taxes = lastmoney * 0.3 - 2002
    elif 55000 <= lastmoney < 80000:
        taxes = lastmoney * 0.35 - 5505
    elif 80000 <= lastmoney:
        taxes = lastmoney * 0.45 - 13505
    # if lastmoney < 0:
    #     taxes = 0    return taxes
# 导入自定义模块
import taxm = float(input("请输入您的月收入总额:"))
taxes = tax.tax(m)
print('您应征个人所得税金额为:{:.2f} 元'.format(taxes))