距离第一章的发布也有一段时间了,这段时间不仅仅是工作,也做了python的学习,发现python真的很是有趣。第一章试读中我就预告,看第二章很简单,应该很快就能OK,确实,第二章具体讲的挺简单,而且浅显易懂,但是让我记忆犹新的一个关键点就是“不要覆写模块名”。这个让我很难忘记,因为这个确实是很容易被忽略的一个重点。
我先讲讲第二章的理解与感触吧。第二章首先介绍了“控制流”,所谓控制流其实就是程序的执行流程顺序,比如判断、比较、赋值的优先顺序,其实这就是控制流。控制流中包含了布尔值,所谓布尔值我的理解就是C语言中的“是非”。布尔值有“True、False”。接下来讲了比较操作符,这个就跟名称一样,作比较来用。接下来是“布尔操作符”,这个就像C语言中的的“与或非”一样。下来就上了一点点强度,也就是混合布尔操作符与比较操作符。下来是针对控制流的“条件”、“代码块”、比如if,else和elif这种条件判断语句。给我的感觉至此,逻辑思路跟C语言差不多,而且可以说是比C语言更简单,因为其逻辑直接就按照人的思路去操作,不需要考虑过多的结构,函数等等。
其实python也有while循环语句,其中还有break退出和continue关键词,而且循环也可以用for,同时可以用设置循环次数的range()函数。
接下来就是我想说的重点了,由于python的优势就是库非常多,可以调用各种各样的库,因此导入模块库是学习python的重点之一,这里在开始就强调,模块的名字可不要随便写,就像书上所介绍的一样。
为什么我要介绍这个点呢,因为在之前写代码的时候,发现前辈们有些时候就函数定义就很容易随心所欲,当然,我也有点,不过我一般会用英文缩写并且按照比较好的代码风格设置它,所以可以说是之前的我深受其害。因此在python之中,我觉得要有一个好的代码/脚本风格是比较好的习惯之一,同时,也可以让代码/脚本更加的简单易懂。如果要是随心所欲的设计函数/模块名称,很有可能导致脚本运行失败的风险。因此,我觉得需要与大家分享一下我读第二章的感触。接下来我根据第二章的心得,并且参考一些资料搞个了简单的小游戏。
# 定义游戏场景
scenes = {
'start': '你来到了一个神秘的森林,面前有两条小路,你要选择左边的路还是右边的路?(输入L或R)',
'left': '你选择了左边的路,你看到了一只可爱的小动物,你要和它玩耍吗?(输入Y或N)',
'right': '你选择了右边的路,你遇到了一只凶猛的怪兽,你要战斗还是逃跑?(输入F或R)',
'play': '你和小动物玩得很开心,它带你找到了宝藏,你赢了!',
'fight': '你勇敢地与怪兽战斗,但你不敌,游戏结束!',
'run': '你选择逃跑,你成功逃脱了怪兽的追击,但没有找到宝藏,游戏结束!'
}
# 游戏主逻辑
def game():
current_scene = 'start'
while True:
print(scenes[current_scene])
choice = input()
if current_scene == 'start':
if choice == 'L':
current_scene = 'left'
elif choice == 'R':
current_scene = 'right'
else:
print('无效的选择,请重新输入!')
elif current_scene == 'left':
if choice == 'Y':
current_scene = 'play'
elif choice == 'N':
current_scene = 'fight'
else:
print('无效的选择,请重新输入!')
elif current_scene == 'right':
if choice == 'F':
current_scene = 'fight'
elif choice == 'R':
current_scene = 'run'
else:
print('无效的选择,请重新输入!')
elif current_scene == 'play' or current_scene == 'fight' or current_scene == 'run':
print('游戏结束!')
break
# 运行游戏
game()
运行效果如下:
希望大家可以玩的愉快哦~