基于王者荣耀的Python3入门文档(2)
作者:郑开州
知性而淫荡,神秘又开放
写在前面
1.前文传送门:基于王者荣耀的Python3入门文档
2.基于Python3,运行环境为jupyter
代码可以复制,请将输入法切换到英文状态再将代码复制粘贴
3.本节主要内容
if条件语句:条件判断的多种类型
字典:构造字典,增删改查,字典遍历,字典嵌套
一、 if条件语句
1、 一个最简单的if语句
王者荣耀中的英雄有很多,但是李白是嘴炮最厉害的一个!可以使用if条件语句,判断英雄列表中的每个元素是不是李白。
heroes=["安其拉","李白","杨戬","貂蝉","孙悟空"]
for hero in heroes:
if hero=="李白": #一个等号是赋值,两个等号是判断
print("你选的英雄超级厉害的!") #只有李白才是superstar
else:
print("你选的英雄一般般厉害!")
注意:缩进一定要工整,循环和条件语句后面都有冒号。
2、 if条件判断的内容分类
if条件判断的内容有不同的类型,上面的例子中,我们要判断英雄是不是李白,这是条件判断中的一种(文本),下面我们来详细的了解一下if后面的条件判断类型。
① 文本内容是否相同
hero = "libai" #小写的李白
if hero=="libai": #小写的李白
print("您选择的英雄是超级大嘴炮:李白!")
if hero=="LIBAI": #大写的李白
print("您选择的英雄是名字大写的超级大嘴炮:李白!")
注意:检验文本内容是否相同的时候,严格区分大小写。并且文本判断的时候用的是两个等号,对比以下
注意:文本内容判断的时候使用一个等号,会出现错误
② 文本内容是否不相同
10个后羿7个傻、8个呆、9个菜,还有一个在王者段位,鱼塘里面遇不到。所以,鱼塘判断英雄不是后羿,就赢了一大半。
hero = "老夫子"
if hero !="后羿": #不等于
print("恭喜,这局对战已经赢了一大半!")
③ 比较数字
为了避免小学生沉迷农药,无法自拔,限定年龄小于12岁的玩家每天只能玩1个小时。
age=11
if age <= 12:
print("尊敬的小玩家,您每日的游戏时间只有1小时!")
④ 多个条件并列
鉴于防沉迷机制,刘翠花和王二狗组队玩一天的需要双方的年龄都大于12岁,这里就涉及到多个条件的并列判断。
liucuihua=18 #翠花永远18岁
wangergou=22
if (liucuihua > 12 and wangergou >12):
print("恭喜刘翠花和王二狗能够组队玩一天!")
注意:and 与;or 或
⑤ 列表中是否包含特定值
我们来看一下队伍列表中有没有后羿,没有就赢了一半,有就踢掉。
heroes=["安其拉","李白","杨戬","貂蝉","后羿"]
hero="后羿"
if hero in heroes:
print("队伍中有后羿,赶紧踢掉他。")
else:
print("后羿不在队伍中,能赢!")
注意:if和else的搭配,相当于Excel中的if函数
二、 字典
1、 一个简单的英雄字典
字典可以理解为名片,由多种属性及其对应值构成。我们来创建一个李白的字典。
libai={"姓名":"李白","性别":"男"}
print(libai)
注意:字典的标识符是大括号{},大括号内的键值对应关系用冒号表示,键值对之间用逗号分隔
2、 向字典中添加内容
我们创建的李白的字典太苍白无力了,我们往这个字典里面加入李白的名句让他变得丰富。
libai={"姓名":"李白","性别":"男"}
print(libai)
libai["名句"]="努力有用的话还要天才干甚?"
print(libai)
3、 修改字典中的内容
假如某天考古发现李白其实是萌萌哒的女孩子,我们需要对李白的性别属性进行修改。
libai={"姓名":"李白","性别":"男"}
print(libai)
libai["性别"]="女" #修改性别对应的值
print(libai)
4、 删除字典中的内容
李白是男是女我们都爱,我们爱的是嘴炮,不是性别。所以性别这个属性不重要,我们删除它。(总感觉哪里不对劲)
libai={"姓名":"李白","性别":"男"}
print(libai)
del libai["性别"] #删除一个键值对,只需要指定键就可以了
print(libai)
三、 字典的进一步操作
1、遍历字典
现在开一局王者荣耀,我们的五人投小队及其选的英雄也是可以组成一个字典的。玩家是键,英雄是值。
#五人投小分队组成的送分队伍。
songfen={
"马花藤":"安其拉",
"天善梁总":"孙悟空",
"酸菜馆子刘翠花":"貂蝉",
"村口铁匠王二狗":"吕布",
"小菜鸡郑开州":"后羿"}
print(songfen)
① 遍历字典中的所有键(玩家名称)
#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
"马花藤":"安其拉",
"天善梁总":"孙悟空",
"酸菜馆子刘翠花":"貂蝉",
"村口铁匠王二狗":"吕布",
"小菜鸡郑开州":"后羿"}
for key in songfen.keys(): #取出字典中的玩家名称
print(key)
注意:字典中的键通常使用特殊字符key来表示,并且取键的方法为字典名称.keys()
② 遍历字典中的所有值(英雄名称)
#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
"马花藤":"安其拉",
"天善梁总":"孙悟空",
"酸菜馆子刘翠花":"貂蝉",
"村口铁匠王二狗":"吕布",
"小菜鸡郑开州":"后羿"}
for value in songfen.values(): #取出字典中的英雄名称
print(value)
注意:字典中的值通常使用特殊字符value来表示,并且取值的方法为字典名称.values()
③ 遍历字典中的所有键值对
#五人投小分队组成的送分队伍。玩家是键,英雄是值
songfen={
"马花藤":"安其拉",
"天善梁总":"孙悟空",
"酸菜馆子刘翠花":"貂蝉",
"村口铁匠王二狗":"吕布",
"小菜鸡郑开州":"后羿"}
for key,value in songfen.items(): #取出字典中的玩家名称
print(key,value)
注意:字典中的键值对需要使用两个参数来获取,并且使用逗号分隔,获取键值对的方
法为字典名称.items()。打印的时候可以只打印一个参数。
2、字典嵌套
① 一个键对应多个值
我们刚才的五人小队,还有另外一个更加常规的方法。可以做成以下excel表格中的格式。这个时候我们的第一个键(玩家名称)对应的值就有5个,第二个键(所选英雄)对应的值也有5个。
一个键对应多个值,我们可以做一个嵌套列表的字典:
#五人投小分队组成的送分队伍
songfen={
"玩家名称":["马花藤","天善梁总","酸菜馆子刘翠花","村口铁匠王二狗","小菜鸡郑开州"],
"所选英雄":["安其拉","孙悟空","貂蝉","吕布","后羿"]
}
songfen
注意: 嵌套列表的字段最后还是一个字典,最外层是大括号。将来使用pandas包经常会使用这种格式。
② 把几个字典放在一个列表里面
先前我们做了一个李白的名片,接下来我们再来多做几个,并存在一个列表里面。
libai={"姓名":"李白","性别":"男"}
diaochan={"姓名":"貂蝉","性别":"女"}
direnjie={"姓名":"狄仁杰","性别":"男"}
heroes=[libai,diaochan,direnjie]
print(heroes)
③ 嵌套字典的字典
这部分内容放在后面讲pandas的时候再讲,入门有点太难了。
四、 总结
if条件语句的if-else结构,if后接的条件判断的几种类型这两部分很重要;
字典的增删改查、遍历、嵌套的三部分内容很重要。
大家发现错误的地方,或者大家有建议和批评请联系开州:
kaizhou_0320@163.com
最后,感谢阅读!
Python爱好者社区历史文章大合集:
Python爱好者社区历史文章列表(每周append更新一次)
关注后在公众号内回复“课程”即可获取:
小编的Python入门视频课程!!!
崔老师爬虫实战案例免费学习视频。
丘老师数据科学入门指导免费学习视频。
陈老师数据分析报告制作免费学习视频。
玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。
丘老师Python网络爬虫实战免费学习视频。