• 欢迎光临~

python第四章实例与实战

开发技术 开发技术 2022-10-07 次浏览

实例01

输出每日一贴,代码如下:

import datetime
mot = ["今天星期一:n坚持下去不是因为我很坚强,而是因为我别无选择。",
       "今天星期二:n含泪播种的人一定能笑着收获。",
       "今天星期三:n做对的事情比把事情做对更重要。",
       "今天星期四:n命运给子我们的不是失望之酒,而是机会之杯。",
       "今天星期五:n不要等到明天,明天太遥远,今天就是行动。",
       "今天星期六:n求知若饥,皮心若愚。",
       "今天星期日:n成功海属于那些从不说 “不可能”的人。"]
day = datetime.datetime.now().weekday()
print(mot[day])

运行结果如下:

今天星期六:
求知若饥,虚心若愚。

实例02

分两列显示2017-2018赛季NBA西部联盟前八名的球队,代码如下:

print("2017~2018赛季NBA西部联盟前八名n")
team = ["火箭","勇士","开拓者","雷霆","爵士","鹈鹕","马刺","森林狼"]
for index,item in enumerate(team):
    if index%2 == 0:
        print(item + "tt",end='')
    else:
        print(item + "n")

运行结果如下:

2017~2018赛季NBA西部联盟前八名

火箭        勇士

开拓者        雷霆

爵士        鹈鹕

马刺        森林狼

实例03

向NBA名人堂列表中追加2018年新进入的球星,代码如下:

#NBA名人堂原有人员
oldlist = ["迈克尔·乔丹","卡里姆·阿布杜尔·贾巴尔","哈基姆·奥拉朱旺","查尔斯·巴克利","姚明"]
newlist = ["贾森·基德","史蒂夫·纳什","格兰特·希尔"]
oldlist.extend(newlist)
print(oldlist)

运行结果如下:

['迈克尔·乔丹', '卡里姆·阿布杜尔·贾巴尔', '哈基姆·奥拉朱旺', '查尔斯·巴克利', '姚明', '贾森·基德', '史蒂夫·纳什', '格兰特·希尔']

实例04

使用二维列表输出不同版式的古诗,代码如下:

str1 = "千山鸟飞绝"
str2 = "万径人踪灭"
str3 = "孤舟蓑笠翁"
str4 = "独钓寒江雪"
verse = [list(str1),list(str2),list(str3),list(str4)]
print("n--横板--n")
for i in range(4):
    for j in range(5):
        if j == 4:
            print(verse[i][j])
        else:
            print(verse[i][j],end="")

verse.reverse()
print("n-- 整版--n")
for i in range(5):
    for j in range(4):
        if j == 3:
            print(verse[j][i])
        else:
            print(verse[j][i],end="")

运行结果如下:

--横板--

千山鸟飞绝
万径人踪灭
孤舟蓑笠翁
独钓寒江雪

-- 整版--

独孤万千
钓舟径山
寒蓑人鸟
江笠踪飞
雪翁灭绝

实例05

使用元组保存咖啡馆里提供的咖啡名称,代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')
print(coffeename)

运行结果如下:

('蓝山', '卡布奇诺', '曼特宁', '摩卡', '麝香猫', '哥伦比亚')

实例06

使用for循环列出咖啡馆里的咖啡名称,代码如下:

coffeename = ('蓝山','卡布奇诺','曼特宁','摩卡','麝香猫','哥伦比亚')
print("您好,欢迎光临~伊米咖啡馆~nn我店有:n")
for name in coffeename:
    print(name + "咖啡",end = " ")
    

运行结果如下:

您好,欢迎光临~伊米咖啡馆~

我店有:

蓝山咖啡 卡布奇诺咖啡 曼特宁咖啡 摩卡咖啡 麝香猫咖啡 哥伦比亚咖啡 

实例07

分两列显示2017-2018赛季NBA西部联盟前八名球队,代码如下:

print("2017~2018赛季NBA西部联盟前八名n")
team = ("火箭","勇士","开拓者","雷霆","爵士","鹈鹕","马刺","森林狼")
for index, item in enumerate(team):
    if index%2 == 0:
        print(item + "tt",end='')
    else:
        print(item + "n")
        

运行结果如下;

2017~2018赛季NBA西部联盟前八名

火箭        勇士

开拓者        雷霆

爵士        鹈鹕

马刺        森林狼

实例08

将麝香猫咖啡替换成拿铁咖啡,代码如下:

#定义元组
coffeename = ('蓝山','卡布奇诺','曼特宁','麝香猫','哥伦比亚')
coffeename = ('蓝山','卡布奇诺','曼特宁','拿铁','哥伦比亚')
"""
coffeename = ['蓝山','卡布奇诺','曼特宁','麝香猫','哥伦比亚']   # 列表可该表元素值
coffeename = ('蓝山','卡布奇诺','曼特宁','麝香猫','哥伦比亚')# 会出现错误 因为元组没法修改元素值
coffeename[3] = '拿铁'
print(coffeename)
"""
#将麝香猫换成拿铁
print("新元组",coffeename)

运行结果如下:

新元组 ('蓝山', '卡布奇诺', '曼特宁', '拿铁', '哥伦比亚')

实例09

创建一个保存女神星座的字典,代码如下:

name =['绮梦','冷伊一','香凝','黛兰']          #作为健的列表
sign =['水瓶座','射手座','双鱼座','双子座']     #作为值的列表
dictionary = dict(zip(name, sign))
print(dictionary)

运行结果如下:

{'绮梦': '水瓶座', '冷伊一': '射手座', '香凝': '双鱼座', '黛兰': '双子座'}

实例10

根据星座测试性格特点,代码如下:

name =['绮梦','冷伊一','香凝','黛兰']                  #作为键的列表
sign_person =['水瓶座','射手座','双鱼座','双子座']      #作为值的列表
person_dict = dict(zip(name, sign_person))          #转换位个人字典
sign_all =['白羊座','金牛座','双子座','巨蟹座','狮子座',
           '处女座','天秤座','天蝎座','射手座','摩羯座','水瓶座','双鱼座']
nature = ['有一种让人看见就觉得开心的感觉,阳光、乐观、坚强,性格直来直去,就是有点小脾气。',
          '很保守,喜欢稳定,一旦有什么变动就会觉得心里不踏实,性格比较慢热,是个理财高手。',
          '喜欢追求新鲜感,有点小聪明,耐心不够,因你的可爱性格会让很多人喜欢和你做朋友。',
          '情绪容易敏感,缺乏安全感,做事情有坚持到底的毅力,为人重情重义,对朋友和家人特别忠实。',
          '有着远大的理想,总想靠自己的努力成为人上人,总是期待被仰慕被崇拜的感觉。',
          '坚持追求自己的完美主义者。',
          '追求平等、和谐,交际能力强,因此朋友较多。最大的缺点就是面对选择总是犹豫不决。',
          '精力旺盛,占有欲强,对于生活很有目标,不达目的誓不罢休,复仇心重。',
          '崇尚自由,勇敢、果断、独立,身上有一股勇往直前的劲儿,只要想做,就能做。',
          '是最有耐心的,做事最小心。做事脚踏实地,比较固执,不达目的不罢休,而且非常勤奋。',
          '人很聪明,最大的特点是创新,追求独一无二的生活,个人主义色彩很浓重的星座。',
          '集所有星座的优缺点于一身。最大的优点是有一颗善良的心,愿意帮助别人。']
sign_dict = dict(zip(sign_all, nature))             #转换为星座字典
print("【香凝】的星座是" ,person_dict.get("香凝"))       #get获取"香凝"的健值
print("n她的性格特点是:n",sign_dict.get(person_dict.get("香凝")))

运行结果如下:

【香凝】的星座是 双鱼座

她的性格特点是:
 集所有星座的优缺点于一身。最大的优点是有一颗善良的心,愿意帮助别人。

实例11

应用字典推导实现根据名字和星座创建一个字典,代码如下:

name =['绮梦', '冷伊一', '香凝', '黛兰']         #作为健的列表
sign =['水瓶', '射手', '双鱼', '双子']          #作为值的列表
dictionary = {i : j + '' for i,j in zip(name, sign)}
print(dictionary)

运行结果如下:

{'绮梦': '水瓶座', '冷伊一': '射手座', '香凝': '双鱼座', '黛兰': '双子座'}

实例12

创建保存学生选课信息的集合,代码如下:

python = {'绮梦', '冷伊一', '香凝', '梓轩'}
c = {'冷伊一', '零语', '梓轩', '圣博'}
print("选择python语言的学生有:", python)
print("选择C语言的学生有:", c)

运行结果如下:

选择python语言的学生有: {'绮梦', '冷伊一', '梓轩', '香凝'}
选择C语言的学生有: {'梓轩', '冷伊一', '圣博', '零语'}

实例13

学生更改选学课程,代码如下:

python = {'绮梦', '冷伊一', '香凝', '梓轩'}
c = {'冷伊一', '零语', '梓轩', '圣博'}
print("选择python语言的学生有:", python)
print("选择C语言的学生有:", c)

运行结果如下:

选择python语言的学生有: {'冷伊一', '绮梦', '香凝', '梓轩'}
选择C语言的学生有: {'冷伊一', '零语', '圣博', '梓轩'}

实例14

对选科集合进行交集、并集和差集运算,代码如下:

python = set(['绮梦', '冷伊一', '香凝', '梓轩'])
c = set(['冷伊一', '零语', '梓轩', '圣博'])
print("选择Python语言的学生有:", python)
print("选择C语言的学生有:", c)
#输出既选择了Python语言又选择了C语言的学生姓名
print("交集运算:", python & c)
#输出参与选择的全部学生姓名
print("并集运算:", python | c)
#输出只选择Python没有选择C的学生姓名
print("差集运算:", python - c)

运行结果如下:

选择Python语言的学生有: {'梓轩', '香凝', '绮梦', '冷伊一'}
选择C语言的学生有: {'梓轩', '零语', '圣博', '冷伊一'}
交集运算: {'梓轩', '冷伊一'}
并集运算: {'绮梦', '梓轩', '圣博', '冷伊一', '零语', '香凝'}
差集运算: {'绮梦', '香凝'}

实战01

输出“王者荣耀”的游戏角色,代码如下:

print("“王者荣耀“游戏角色:")
print("====坦克:====")
tank = ["苏烈","刘邦","钟馗","张飞","牛魔","程咬金","白起","刘禅","庄周","项羽","廉颇","巨灵神","安禄山","猪八戒"]
for i in tank:
    print(i,end=" ")
print("n"+"====战士:====")
warrior = ["狂铁","裴擒虎","","孙悟空","哪吒","杨戬","橘右京","亚瑟","雅典娜","夏侯惇","关羽","吕布","韩信","老夫子","达摩",
           "典韦","曹操","钟无艳","墨子","赵云","刑天","龙且"]
for i in warrior:
    print(i,end=" ")
print("n"+"====刺客:====")
assassin = ["百里玄策","庞统","花木兰","靳柯","不知火舞","李白","娜可露露","兰陵王","韩信","宫本武藏","盖聂","红拂"]
for i in assassin:
    print(i,end=" ")
print("n"+"====法师:====")
master = ["杨玉环","奕星","女娲","周瑜","鬼谷子","芈月","东皇太一","大乔","诸葛亮","貂蝉","张良","安琪拉"]
for i in master:
    print(i,end=" ")
print("n"+"====射手:====")
shooter = ["公孙离","百里守约","后羿","刘备","黄忠","马可波罗","成吉思汗","虞姬","李元芳","艾琳","狄仁杰","鲁班七号","孙尚香"]
for i in shooter:
    print(i,end=" ")
print("n"+"====辅助:====")
auxiliary = ["明世隐","梦奇","孙膑","太乙真人","蔡文姬"]
for i in auxiliary:
    print(i,end=" ")

运行结果如下:

“王者荣耀“游戏角色:
====坦克:====
苏烈 刘邦 钟馗 张飞 牛魔 程咬金 白起 刘禅 庄周 项羽 廉颇 巨灵神 安禄山 猪八戒 
====战士:====
狂铁 裴擒虎 铠 孙悟空 哪吒 杨戬 橘右京 亚瑟 雅典娜 夏侯惇 关羽 吕布 韩信 老夫子 达摩 典韦 曹操 钟无艳 墨子 赵云 刑天 龙且 
====刺客:====
百里玄策 庞统 花木兰 靳柯 不知火舞 李白 娜可露露 兰陵王 韩信 宫本武藏 盖聂 红拂 
====法师:====
杨玉环 奕星 女娲 周瑜 鬼谷子 芈月 东皇太一 大乔 诸葛亮 貂蝉 张良 安琪拉 
====射手:====
公孙离 百里守约 后羿 刘备 黄忠 马可波罗 成吉思汗 虞姬 李元芳 艾琳 狄仁杰 鲁班七号 孙尚香 
====辅助:====
明世隐 梦奇 孙膑 太乙真人 蔡文姬 

实战02

模拟火车订票系统,代码如下:

information = ["车次", " ", "出发站-到达站", " ", "出发时间", " ", "到达时间"," ","历时"]
train_number = ["T40","T298","T158","Z62"]
chufa_daoda = ["长春-北京","长春-北京","长春-北京","长春-北京"]
start_time = ["00:12","00:06","12:48","21:58"]
arrival_time = ["12:20","10:50","21:06","08:18"]
time = ["12:08","10:44","08:18","8:20"]
for i in information:
    print(i,end="")     #输出表头
print("")
#输出详细信息
print(train_number[0],' ',chufa_daoda[0],' ',start_time[0],' ',arrival_time[0],' ',time[0],' ')
print(train_number[1],' ',chufa_daoda[1],' ',start_time[1],' ',arrival_time[1],' ',time[2],' ')
print(train_number[2],' ',chufa_daoda[2],' ',start_time[2],' ',arrival_time[2],' ',time[2],' ')
print(train_number[3],' ',chufa_daoda[3],' ',start_time[3],' ',arrival_time[3],' ',time[3],' ')
#转换为字典
chufa_chx = dict(zip(train_number,chufa_daoda))
start_time_chx = dict(zip(train_number,start_time))
arrival_time_chx = dict(zip(train_number,arrival_time))
lishi_chx = dict(zip(train_number,time))
train = input("请输入购买车次:")
passenger = input("请输入乘车人(用逗号分隔):")
achufa = chufa_chx[train]
print("你已购买" + train + "次列车" + achufa + "开,请" + passenger + "尽快换取纸质车票。【铁路客服】")

运行结果如下:

车次 出发站-到达站 出发时间 到达时间 历时
T40   长春-北京   00:12   12:20   12:08  
T298   长春-北京   00:06   10:50   08:18  
T158   长春-北京   12:48   21:06   08:18  
Z62   长春-北京   21:58   08:18   8:20  
请输入购买车次:T40
请输入乘车人(用逗号分隔):x
你已购买T40次列车长春-北京开,请x尽快换取纸质车票。【铁路客服】

实战03

电视剧的收视率排行榜,代码如下:

#电视剧列表
TV = [("《Give up, hold on to me》收视率:","1.4%"),
       ("《The private dishes of the husbands》收视率:","1.343%"),
       ("《My father-in-law will do martiaiarts》收视率:","0.92%"),
       ("《North Canton still believe in love》收视率:","0.862%"),
       ("《Impossible task》收视率:","0.553%"),
       ("《Sparrow》收视率:","0.411%"),
       ("《East of dream Avenue》收视率:","0.164%"),
       ("《The prodigal son of the new frontier town》收视率:","0.259%"),
       ("《Distant distance》收视率:","0.394%"),
       ("《Music legend》收视率:","0.562%")]
#对元素的第二个字段进行排序
TV.sort(key=lambda x:x[1], reverse=True)
for item in TV:
    print(item[0] + str(item[1]))
# for i in TV:
#     for j in range(0, 2):
#         if j == 1:
#             print(i[j])
#         else:
#             print(i[j], end="")

运行结果如下:

《Give up, hold on to me》收视率:1.4%
《The private dishes of the husbands》收视率:1.343%
《My father-in-law will do martiaiarts》收视率:0.92%
《North Canton still believe in love》收视率:0.862%
《Music legend》收视率:0.562%
《Impossible task》收视率:0.553%
《Sparrow》收视率:0.411%
《Distant distance》收视率:0.394%
《The prodigal son of the new frontier town》收视率:0.259%
《East of dream Avenue》收视率:0.164%

实战04

定制自己的手机套餐,代码如下:

print("定制自己的手机套餐:")
call = ["0分钟", "50分钟", "100分钟", "300分钟", "不限量"]
flow = ["0M", "500M", "1G", "5G", "不限量"]
message = ["0条", "50条", "100条"]
#通话时长
print("A.请设置通话时长:")
for i,j in enumerate(call):
    print(str(i+1) + '.' + j)
A = int(input("输入选择的通话时长编号:"))
#流量
print("B.请设置流量包:")
for i,j in enumerate(flow):
    print(str(i+1) + '.' + j)
B = int(input("输入选择的流量包编号:"))
#短信
print("C.请设置短信条数:")
for i,j in enumerate(message):
    print(str(i+1) + '.' + j)
C = int(input("输入选择的短信条数编号:"))
#套餐结果
print("您的手机套餐定制成功:"+ "免费通话时长为" + call[A-1] +
      "/月,"+ "流量为" + flow[B-1] + "/月,"+
      "短信条数" + message[C-1] + "/月")

运行结果如下:

定制自己的手机套餐:
A.请设置通话时长:
1.0分钟
2.50分钟
3.100分钟
4.300分钟
5.不限量
输入选择的通话时长编号:5
B.请设置流量包:
1.0M
2.500M
3.1G
4.5G
5.不限量
输入选择的流量包编号:5
C.请设置短信条数:
1.0条
2.50条
3.100条
输入选择的短信条数编号:3
您的手机套餐定制成功:免费通话时长为不限量/月,流量为不限量/月,短信条数100条/月

 

程序员灯塔
转载请注明原文链接:python第四章实例与实战
喜欢 (0)