[oeasy]教您玩转python - 0005- 勇闯地下城

简介: [oeasy]教您玩转python - 0005- 勇闯地下城

继续运行 🥊

回忆上次内容

  • 上次从1行代码进化到了2行代码
  • yy 复制1行代码到剪贴板
  • p粘贴剪贴板中的内容
  • 将剪贴板中的代码粘贴9999次
  • 9999p
  • 真的实现了万行代码梦
  • 是真·圆梦
  • 没有撒谎的那种
  • 不过圆梦之后多少有点空虚
  • 可以看看人家的程序怎么写的么?🤔
  • 去哪里找程序呢?

github

  • 这就要去传说中的github了

网络异常,图片无法展示
|

  • 这个网站是世界制作软件的地方
  • 这里确实有各种各样的源代码
  • linux
  • python
  • blender
  • 等等各种开源的仓库都在这里
  • 用社交的方式开发和迭代
  • 值得注册(signup)和深度使用
  • 注意蓝桥云系统中不能访问邮箱
  • 需要在本地得到邮箱验证码
  • 那oeasy的python教程的代码在哪呢?

搜索

  • 搜索oeasy+python

网络异常,图片无法展示
|

  • 可以找到这个项目仓库
  • 然后点开这个项目仓库的连接

仓库细节

  • 仓库上方有三个基本按钮

网络异常,图片无法展示
|

  • star 点赞
  • 为项目点赞
  • 用实际行动支持这个项目
  • 期待着您为oeasy点个⭐️
  • 这样也便于再次找到

网络异常,图片无法展示
|

  • 另外两个按钮干什么用呢?

fork

  • fork 复制项目
  • 把当前这个项目复制到自己的项目库中
  • 这样更容易找到
  • 在当前项目基础上可以做修改做出自己项目
  • 也可以反哺(pull-request)源项目

网络异常,图片无法展示
|

  • 这是github生命力的源泉
  • 各种项目不断遗传变异

网络异常,图片无法展示
|

  • watch按钮表示什么呢?

watch

  • watch 观察
  • 就是你对这个项目有疯狂的兴趣
  • 这个项目的一举一动你都要接到通知

网络异常,图片无法展示
|

  • 可以选择通知级别
  • Paricipating and @mentions
  • 相关的或者被@到了才通知
  • All Activity
  • 所有都通知
  • Ignore
  • 拒绝一切通知
  • Custom
  • 定制通知类型
  • 这个项目具体怎么下载呢?

下载项目

  • 点击那个复制按钮

网络异常,图片无法展示
|

  • 链接就被复制到了剪贴板
  • 再按下图所示
  • 将命令粘贴到下图位置
  • 并点击保存
  • 这样就把复制的文本粘贴到了网页中蓝桥云的系统剪贴板

粘贴

  • 打开终端
  • 先输入git clone

网络异常,图片无法展示
|

  • 然后鼠标右键调出菜单
  • 点击终端菜单的Paste命令

网络异常,图片无法展示
|

  • 回车运行
  • 进行下载
  • 如果不能下载
  • 可以ctrl+c取消
  • 反复多试几次
  • 这样就可以玩游戏了
  • 游戏在哪呢?

进入目录

  • 可以进入游戏目录玩游戏

网络异常,图片无法展示
|

cd ~/oeasy-python-tutorial/samples/000002
pwd
python3 game.py
  • 也可以向刚才那样
  • 把上面的这个代码复制进入终端
  • 然后玩游戏

玩游戏

网络异常,图片无法展示
|

  • 想办法赢一把

源代码

  • vi game.py 可以看看游戏源代码
  • 都写的一清二楚
  • 可以直接读

网络异常,图片无法展示
|

  • 两种职业的初始值和成长性一清二楚
  • 找找里面有没有 函数
  • 这个程序可以修改么?

修改屠龙刀

  • 找到奖品屠龙刀的位置

网络异常,图片无法展示
|

  • 加点什么好呢?

添加爱心

  • 可以把❤复制粘贴到虚拟机的剪贴板

网络异常,图片无法展示
|

  • 找到刀柄的位置
  • i进入插入状态
  • 注意左下角显示的当前状态
  • 粘贴爱心
  • 如果不能正确粘贴
  • 尝试下载安装最新版的火狐浏览器
  • 真的会有爱心吗?

实验结果

  • 尝试一下
  • 真的可以得到有一颗爱心的屠龙刀了
  • 这就是爱心屠龙刀
  • esc
  • 退回到正常状态
  • :w|!python3 %
  • 保存并运行当前这个程序
  • 看看最终奖励品是否变了

网络异常,图片无法展示
|

  • 可以把所有的8都变成❤么?

批量替换

  • :99,107s/8/❤/g
  • : 进入底行命令模式
  • 99,107 行的范围内
  • s 替换
  • 8 被替换模式
  • ❤ 替换为的模式
  • g 全局替换(不止一次替换)

网络异常,图片无法展示
|

  • 替换结果

网络异常,图片无法展示
|

  • 可以把这颗心变个颜色么?

红色爱之宝石

  • 可以把这颗心变成红色

网络异常,图片无法展示
|

  • 照着这个代码抄就可以
  • 后面会有详细的原理讲解
  • 这里先看看效果

网络异常,图片无法展示
|

  • 得到了红色爱心屠龙刀
  • 这真的酷啊~~~
  • 拍照留念!!!
  • 我们先总结一下这次内容吧

总结

  • 这次写了10000行代码
  • 10000行代码 都是写在明面上的
  • 人家一下载 py 文件
  • 就能看个明明白白
  • 修改或者运行程序都很方便
  • 这程序全都这么公开出来
  • 大家随意修改
  • 好么?
  • 编写程序的人怎么挣钱呢?🤔

网络异常,图片无法展示
|

  • 我们下次再说!👋
    蓝桥云课:https://www.lanqiao.cn/courses/3584
    github:https://github.com/overmind1980/oeasy-python-tutorial
    gitee:https://gitee.com/overmind1980/oeasypython 作者:oeasy
相关文章
|
18天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
25天前
|
人工智能 C语言 Python
[oeasy]python051_什么样的变量名能用_标识符_identifier
本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。
113 69
|
27天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
111 68
|
7天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
29 14
|
2天前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
9 1
|
16天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
29 9
|
24天前
|
Unix 编译器 C语言
[oeasy]python052_[系统开发语言为什么默认是c语言
本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
26 5
|
29天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
35 9
|
1月前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
30 5
|
2月前
|
存储 Python 容器
[oeasy]python045_[词根溯源]赋值_assignment_usage_使用
本文回顾了上一次讲解的内容,重点讨论了变量的概念及其在各种系统和游戏中的应用。文章详细解释了变量的声明与赋值操作,强调了赋值即为将具体值存储到变量名下的过程。同时,通过例子说明了字面量(如数字0)不能被赋值给其他值的原因。此外,还探讨了“赋值”一词的来源及其英文表达“assignment”的含义,并简要介绍了与之相关的英语词汇,如sign、assign、signal等。最后,总结了本次课程的核心内容,即赋值操作的定义和实现方式。
29 3