首页 > 编程语言 >零基础python 第六章

零基础python 第六章

时间:2022-10-20 16:03:33浏览次数:42  
标签:BMI person python money bmi 基础 print 第六章 输入

实例1 输出每日一贴(共享版)

def function_tips():
    '''功能:每天输出一条励志文字'''
    import datetime
    mot = ["今天星期一:\n坚持下去不是因为我很坚强,而且因为我别无选择",
           "今天星期二:\n含泪播种的人一定要笑着收获",
           "今天星期三:\n做对的事情便把事情做对重要",
           "今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯",
           "今天星期五:\n不要等到明天,明天太遥远,今天就行动",
           "今天星期六:\n求知若饥,虚心若愚",
           "今天星期日:\n成功将属于那些从不说'不可能'的人"]
    day = datetime.datetime.now().weekday()
    print(mot[day])
function_tips()

运行结果

今天星期四:
命运给予我们的不是失望之酒,而是机会之杯

实例2 根据身高、体重计算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))
    if bmi < 18.5:
        print("您的体重过轻 ~@..@~\n")
    if bmi >= 18.5 and bmi < 24.9:
        print("正常范围,注意保持(-_-)\n")
    if bmi >= 24.9 and bmi < 29.9:
        print("您的体重过重 ~@..@~\n")
    if bmi > 29.9:
        print("肥胖^@..@^\n")
fun_bmi("路人甲",1.83,60)
fun_bmi("路人乙",1.60,50)

运行结果

路人甲的身高1.83米    体重:60千克
路人甲的BMI指数为:17.916330735465376
您的体重过轻 ~@..@~

路人乙的身高1.6米    体重:50千克
路人乙的BMI指数为:19.531249999999996
正常范围,注意保持(-_-)

实例3根据身高、体重计算BMI指数(共享升级版)

def fun_bmi_upgrade(*person):
    '''
    功能:根据身高和体重计算BMI指数(共享升级版)
    *person:可变参数该参数中需要传递带3个元素的列表,
    分别为姓名、身高(单位:米)和体重(单位:千克)
    '''
    for list_person in person:
        for item in list_person:
            person = item[0]
            height = item[1]
            weight = item[2]
            print("\n" + "="*13, person, "="*13)
            print("身高:" + str(height) + "米 \t 体重:" + str(weight) + "千克")
            bmi = weight / (height * height)
            print("BMI指数:" + str(bmi))
            #判断身材是否合理
            if bmi < 18.5:
                print("您的体重过轻 ~@_@")
            if bmi >= 18.5 and bmi < 24.9:
                print("正常范围,注意保持(-_-)")
            if bmi >= 24.9 and bmi < 29.9:
                print("肥胖 ^@_@^")

#调用函数
list_w =[('绮梦', 1.70, 65),('零语', 1.78, 50),('黛兰', 1.72, 66)]
list_m =[('梓轩', 1.80, 75),('冷伊一', 1.75, 70)]
fun_bmi_upgrade(list_w, list_m)

运行结果

============= 绮梦 =============
身高:1.7米      体重:65千克
BMI指数:22.49134948096886
正常范围,注意保持(-_-)

============= 零语 =============
身高:1.78米      体重:50千克
BMI指数:15.780835753061481
您的体重过轻 ~@_@

============= 黛兰 =============
身高:1.72米      体重:66千克
BMI指数:22.30935640886966
正常范围,注意保持(-_-)

============= 梓轩 =============
身高:1.8米      体重:75千克
BMI指数:23.148148148148145
正常范围,注意保持(-_-)

============= 冷伊一 =============
身高:1.75米      体重:70千克
BMI指数:22.857142857142858
正常范围,注意保持(-_-)

实例4 模拟结账功能——计算实付金额

def fun_checkout(money):
    '''
    功能:计算商品合计金额并进行折扣处理
    money:保存商品金额的列表
    返回商品的合计金额和折扣后的金额
    '''
    money_old = sum(money)
    money_new = money_old
    if 500 <= money_old < 1000:     #满500可享受9折优惠
        money_new = '{:.2f}'.format(money_old * 0.9)
    elif 1000 <= money_old < 2000:  #满1000可享受8折优惠
        money_new = '{:.2f}'.format(money_old * 0.8)
    elif 2000 <= money_old < 3000:  #满2000可享受7折优惠
        money_new = '{:.2f}'.format(money_old * 0.7)
    elif money_old >= 3000:  # 满3000可享受6折优惠
        money_new = '{:.2f}'.format(money_old * 0.6)
    return money_old, money_new

#调用函数
print("\n开始结算......\n")
list_money = []
while True:
    inmoney = float(input("输入商品金额(输入0表示输入完毕):"))
    if int(inmoney) == 0:
        break
    else:
        list_money.append(inmoney)      #将金额添加到金额列表中
money = fun_checkout(list_money)        #调用函数
print("合计金额:", money[0], "应付金额:", money[1])

运行结果

开始结算......

输入商品金额(输入0表示输入完毕):288
输入商品金额(输入0表示输入完毕):98.8
输入商品金额(输入0表示输入完毕):168
输入商品金额(输入0表示输入完毕):100
输入商品金额(输入0表示输入完毕):258
输入商品金额(输入0表示输入完毕):0
合计金额: 912.8 应付金额: 821.52

实例5 一棵松树的梦

pinetree = '我是一颗松树'     # 定义一个全局变量(松树)
def fun_christmastree():
    '''
    功能:一个梦
        无返回值
    '''
    pinetree = '挂上彩灯、礼物……我变成一棵圣诞树@^.^@ \n'#定义局部变量
    print(pinetree)

# 函数体外
print('\n下雪了……\n')
print( '===============开始做梦……=============\n')
fun_christmastree()     # 调用函数
print ( '===============梦醒了……===============\n')
pinetree ='我身上落满雪花,' + pinetree + ' -_- '
print(pinetree)     #输出全局变量的值

运行结果

下雪了……

===============开始做梦……=============

挂上彩灯、礼物……我变成一棵圣诞树@^.^@ 

===============梦醒了……===============

我身上落满雪花,我是一颗松树 -_- 

实例6 应用lambada实现对爬取到的秒杀商品信息进行排序

bookinfo =[('不一样的卡梅拉(全套)', 22.50, 120),('零基础学Android', 65.10, 89.80),
           ('摆渡人', 23.40, 36.00),('福尔摩斯探案全集8册', 22.50, 128)]
print('爬取到的商品信息:\n', bookinfo)
bookinfo.sort(key = lambda x:(x[1], x[1] / x[2]))
                # 对x[1]第二个字段升序排序,有重复的则再按x[1]/x[2]折扣比例降序排列
print('排序后的商品信息:\n', bookinfo)

运行结果

爬取到的商品信息:
 [('不一样的卡梅拉(全套)', 22.5, 120), ('零基础学Android', 65.1, 89.8), ('摆渡人', 23.4, 36.0), ('福尔摩斯探案全集8册', 22.5, 128)]
排序后的商品信息:
 [('福尔摩斯探案全集8册', 22.5, 128), ('不一样的卡梅拉(全套)', 22.5, 120), ('摆渡人', 23.4, 36.0), ('零基础学Android', 65.1, 89.8)]

实战1 导演为剧本选主角

def Actor(actor):
    print(actor + "开始参演这个剧本")

#调用函数
person = input("导演选定的主角是:")
Actor(person)

运行结果

导演选定的主角是:关羽
关羽开始参演这个剧本

实战2 模拟美团外卖商家的套餐

def Package(package1, money1, package2, money2, package3, money3):
    print('米线店套餐如下:1.'+ package1 + '2.' + package2 + '3.' +package3)
    print(package1 + money1)
    print(package2 + money2)
    print(package3 + money3)

#调用函数
Package('考神套餐', '13元', '单人套餐', '9.9元', '情侣套餐', '20元')

运行结果

米线店套餐如下:1.考神套餐2.单人套餐3.情侣套餐
考神套餐13元
单人套餐9.9元
情侣套餐20元

实战3 根据生日判断星座

 星座
list = ['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座',
     '巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座']
# 1、白羊座:3月21日~4月19日    2、金牛座:4月20日~5月20日
# 3、双子座:5月21日~6月21日    4、巨蟹座:6月22日~7月22日
# 5、狮子座:7月23日~8月22日    6、处女座:8月23日~9月22日
# 7、天秤座:9月23日~10月23日   8、天蝎座:10月24日~11月22日
# 9、射手座:11月23日~12月21日  10、摩羯座:12月22日~1月19日
# 11、水瓶座:1月20日~2月18日   12、双鱼座:2月19日~3月20日
# 日期
d = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22]
def starSign(month, day):
    #如果日期小于月份减一就是前一个星座,否则就是本月所对应的星座
    if day < d[month-1]:
        return list[month-1]
    else:
        return list[month]

#调用函数
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
print(str(month) + "月" + str(day) + "日星座为:" + starSign(month, day))

运行结果

请输入月份:2
请输入日期:7
2月7日星座为:水瓶座

实战4 将美元转换为人民币

def change(dollar):
    rmb = dollar * 6.28
    return rmb

#调用函数
dollar = float(input("请输入要转换的美元金额:"))
rmb = change(dollar)
print("转换后人民币金额是:" + str(rmb))

运行结果

请输入要转换的美元金额:500
转换后人民币金额是:3140.0

判断是中国移动、中国联通、中国电信号码

import re
pattern1 = r'(13[4-9]\d{8})$|(14[78]\d{8})$|(15[012789]\d{8})$|(17[28]\d{8})$|(18[23478]\d{8})$|(19[578]\d{8})$'
#中国移动匹配手机号:134~139 150~152 157~159 172 178 182~184 187~188 195 197~198

pattern2 = r'(13[3]\d{8})$|(14[9]\d{8})$|(15[3]\d{8})$|(17[37]\d{8})$|(18[019]\d{8})$|(19[013]\d{8})$'
#中国电信匹配手机号:133 149 153 173 177 180 181 189 190 191 193 199

pattern3 = r'(13[012]\d{8})$|(14[56]\d{8})$|(15[56]\d{8})$|(16[6]\d{8})$|(17[56]\d{8})$|(18[56]\d{8})$|(19[6]\d{8})$'
#中国联通匹配手机号:130 131 132 145 146 155 156 166 175 176 185 186 196

while True:
    mobile1 = input("请输入您的手机号码:")
    match1 = re.match(pattern1, mobile1)
    match2 = re.match(pattern2, mobile1)
    match3 = re.match(pattern3, mobile1)
    if match1 != None:
        print(mobile1, '是有效的中国移动手机号码。')
        break
    elif match2 != None:
        print(mobile1, '是有效的中国电信手机号码。')
        break
    elif match3 != None:
        print(mobile1, '是有效的中国联通手机号码。')
        break
    else:
        print("你的电话可能属于虚拟运营商")
        break

 

运行结果

请输入您的手机号码:13411104359
13411104359 是有效的中国移动手机号码。

 

标签:BMI,person,python,money,bmi,基础,print,第六章,输入
From: https://www.cnblogs.com/20860492232qqqqq/p/16809904.html

相关文章

  • 第六章实例
                            ......
  • 记录python3.7版本中 Django+celery 启动报错
     虚拟环境启动I报错Traceback(mostrecentcalllast):File"/data/.virtualenvs/cmdb/lib/python3.7/site-packages/gunicorn/arbiter.py",line589,inspawn_w......
  • 防火墙基础之总部与总部之间OSPF路由配置​
    防火墙基础之总部与总部之间OSPF路由配置​原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一......
  • 【考点15】第十四章: 程序设计基础
    【考点1】程序设计方法与风格形成良好的程序设计风格需注意:    1、源程序文档化;    2、数据说明的方法;    3、语句的结构;     4、输入和输出。  【考......
  • 【考点18】第十六章(上):数据库设计基础
    【考点1】数据库的基本概念数据(Data)是数据库存储的基本对象,是描述事物的符号记录。数据库(DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式......
  • python 绘制直方图代码
    importmatplotlib.pyplotaspltimportnumpyasnpx=np.arange(3)#数据集CQL=[11.17,2368.12,3347.40]PER200=[84.62,2546.82,3470.67]PER1000=[15.61,1811.55,3618.98]......
  • 【算法】基础DP
    参考资料背包九讲一、线性DP如果现在在状态i下,它上一步可能的状态是什么。上一步不同的状态依赖于什么。根据上面的分析,分析出状态和转移方程。注意:dp不一定只有......
  • java反射之基础
    1.加载并获取该Class对象可以通过三种方式:1.1:Class.forName(类的全路径) Classcl=Class.forName("Demo1.GetClass");  1.2:实例对象.getClass()方法 ......
  • AcCoders 10477:【省选基础数据结构 树链剖分】【GDOI2016】疯狂动物城 题解
    算法:树链剖分,可持久化线段树。题目大意给定\(n\)个结点的一棵树,\(m\)次操作,操作有三种:将\(x\)至\(y\)最短路径上的所有点的权值加上\(delta\)。对于\(x\)至......
  • 使用python写docx文档
    需要使用python-docx(1)安装python-mpipinstallpython-docx(2)新建空白文档fromdocximportDocumentdocument=Document()document.save('../data/123.docx')......