[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

2020年4月15日学习笔记评论136,658字数 3431阅读11分26秒阅读模式

变量和赋值

到这里,你已经成功地打印出了千寻的名字和卖身契。与此同时,千寻也成为了汤婆婆的工人,渐渐地,她忘记了自己是谁,遗失了自己“姓名”的信息。

那么,在信息纷繁的代码世界里,我们应该如何更好地储存信息,让计算机能够在你需要的时候帮你调用出你想要的信息呢?

你需要借助【变量和赋值】的力量,将繁杂的信息给一一“收纳”好。

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

我们先来看看下面这行代码:

name='千寻'

这就是一个常见的“给变量赋值”的动作。在这里,name就是一个变量,这行代码的意思,就是把“千寻”这两个字【赋值】给了“name”这个【变量】。

这就好比,为了让千寻在日后能在计算机中更方便地找到她的名字,我们帮她把名字收纳进了一个小盒子里,并在这个盒子上贴了个叫“name”的标签。

回想一下,我们平时在收拾东西的时候,是不是会把散落各处东西放进不同的盒子里,并且做好标记?这样的“收纳”动作,能够让空间变得整齐,也更方便我们自己取用东西。

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

同理,计算机也是这么做的,它会把成千上万的数据放在不同的“盒子”里,这样才方便它存储和操作数据。

这个“盒子”在Python中被称为变量,你可以在这个“盒子”里放任何你想放的内容。

而这个往盒子里装东西的过程,在代码的魔法世界被称为【赋值】。

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

在千寻签完合约后,汤婆婆就把【name】这个『标签』从装有她名字【千寻】的『盒子』撕下来,贴到了装有【小千】这个名字的『盒子』。

这时,取出贴有【name】这个『标签』的盒子,读出的内容变成了『小千』:

name='小千'

现在,请你运行下面这段代码,看一下打印函数的最终输出结果是什么。

name='千寻'
name='小千'
print(name)

终端输出:

name='千寻'
name='小千'
print(name)

终端上出现的结果是不是【小千】?可这又是为什么呢?我们对“name”这个变量第一次的赋值不是【'千寻'】吗?为什么打印的结果是第二次的赋值呢?

这就涉及到了变量的特点:变量之所以称为变量,是因为它保存的数据是可以随意变化的。

刚才我们讲,我们可以将变量当作一个盒子,你可以在这个盒子里放任何内容,但盒子都有它的最大容量,不能无限制地塞东西。

偏偏在代码世界里,盒子的容量又特别小,仅为1。所以当你需要放进新的东西时,只能寻找一个新的盒子。

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

在我们上面的案例中,第一行代码:name='千寻'表达的意思是:把千寻这个名字放到name这个变量“盒子”中。

由于,计算机是一行行自上而下执行代码的,所以当运行到第二行代码name='小千'时,变量“name”里存储的【'千寻'】就被替换成了【'小千'】。

所以,当运行到第三行print(name)时,我们打印出的结果,就自然而然的是小千了。

其实,不仅是千寻,名字对于我们每个人来讲都是有意义的,它帮助你“定位”自己,让别人能轻松地找到你。所以,人的名字不能乱取,同理,给变量的命名也需要遵循一定的规范。

变量的命名规范

对于变量的命名,我们可以遵循以下规范:

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

比如说,如果信息是姓名,那么变量可以命名为name;如果信息是数字,那么变量名则应该叫做number。

很多新手在刚入门的时候会习惯给变量命名为a、b、c等英文字母。这样的变量名会让你无法从诸多信息中分辨出变量里装的东西是什么,这无异于给自己的孩子取名叫做“张小红”、“王小明”,一下就淹没于茫茫人海之中了。

下面,我们来做一道题,检验一下你的变量命名是否规范:

单选题
请问【43】更适合放在以下哪个变量中?

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

除了变量命名之外,还要注意的是:在代码世界中,赋值符号=不是左边等于右边的意思。仅仅表示赋值动作:把右边的内容放到了左边的盒子中。

代表左右两边相等的符号,是比较运算符==,虽然他俩长得像,但代表的却是完全不同的意思,可千万不要搞混了。关于比较运算符==大家先不用着急它的用法,在之后的关卡它会再与大家见面的。

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

检验学习成果的时候到了,请你用刚才学过的变量和赋值的知识做一道题:请将下面三个名字用name依次赋值,并保证最终打印出来的是“千寻”。(提示:使用print()函数,变量的值总是等于最后一次赋给它的内容。)

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

我相信你已经把『千寻』的名字打印出来了,别忘了把代码分享到社群里,让酱酱夸夸你。老师的答案是这样的:

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

答对啦,虽然name被赋值了两次,但最后一次赋值的值是【千寻】,因此能打印出【千寻】。

最后,我们来总结一下这关的知识点:

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

到这里,或许你会问:我这关学的这几个简单的代码有什么用呢?

虽然print()函数是最简单的语句,但其实,你往后要做的任何一个程序几乎都离不开print()函数的支持。

例如说,你能用print()函数给自己创造一个可爱的好朋友“人工智障小埋”,她会蹦跶着到你面前,调皮地让你猜她的年龄。

下面是一段已写好的代码,请直接点击代码区的【运行】,只有点击运行,代码才会跑起来哦。快来和小埋玩一下猜年龄的游戏吧!

注意:在小埋问你她的年龄时,要记得在【终端】输入你猜的数字哦。

import random
import time

###提示语部分
print('你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧~(◆◡◆)')
time.sleep(2)

print('''
=============================
   干物妹!うまるちゃんの年齢
=============================
''')
time.sleep(1)


print('小埋的真实年龄在1到10之间哦~')
time.sleep(1)


print('不过,你只有5次机会哦~')
time.sleep(1)


print('下面,请输入小埋的年龄吧:')


#从0至10产生一个随机整数,并赋值给变量age
age = random.randint(1,10)


#设置次数
for guess in range(1,6):
   
   #输入玩家猜测的年龄
    choice=int(input())
    
    #判读玩家输入的年龄是否等于正确的年龄
    if choiceage:
        print('小埋的提示:乃猜大了惹(>﹏<)~~')
            
    else: 
        print('猜了'+str(guess)+'次,你就猜对惹~hiu(^_^A;)~~~')
        break   
                
#判断猜测次数 
if choice  == age:
    print('搜噶~那么小埋下线了~拜拜~( ̄︶ ̄)↗')
    
else:
    print('哎呀~你还是木有猜对啊~但是你只有5次机会诶~怎么办啊~')
    print('那好吧~心软的小埋只好告诉你,我才'+str(age)+'岁哦~(*/ω\*)')

终端输出:

bash:220$ python ~/8ee553dc-5667-473f-8602-60e953e18473/classroom/apps-1-id-5cd9765519bbcf0001554795/220/main.py
你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧~(◆◡◆)

=============================
   干物妹!うまるちゃんの年齢
=============================

小埋的真实年龄在1到10之间哦~
不过,你只有5次机会哦~
下面,请输入小埋的年龄吧:

成功猜中小埋的年龄了吗?除了print()函数和变量赋值之外,这段代码里还用到了条件判断if语句、input()函数,这两个知识点我们会在第2个关卡和第3个关卡学习到喔。

在学完基础语法的前半部分之后,你也能独立写一个这样的项目,设计你的专属“小埋”!所以,不要小看了我们今天所学的知识,它将是我们未来大项目的开端。

而这一关卡里,我们掌握了命令思维——对计算机下“打印”的指令。但是,在与计算机沟通的道路上,我们的学习才刚刚开始。

在学完整个Python基础语法课程后,你将会真正迈入Python的大门,掌握利用Python解决问题的方法和思维。

下关预告

其实,Python世界只是现实世界的镜像,Python世界里的东西都可以在现实世界里找到对应。那么现实世界中最常见的数字,文字在镜像世界里长什么样呢?我们如何使用它们?

比如说,我们如何利用镜像世界的数据进行复杂的科学计算,并把数字结果和解释语言一起输出到屏幕,展现给用户呢?

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

下一关,我们会一同深入镜像世界里探其究竟,揭秘【镜像世界的数据】。

现在,我终于可以正式地通知你:恭喜通关你人生中的Python第一关!第二关即将解锁,别忘了完成今天的课后练习,我们在下一关再见!

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

练习:打印皮卡丘

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

练习:听见无脸男的声音

[简单学Python] 通过一个小游戏完成Python入门[2]变量和赋值

记一次 Python 应用开发频繁假死的问题 服务端开发

记一次 Python 应用开发频繁假死的问题

问题背景 最近在开发一款自动化的应用,其中有一个自动化任务会由下面这三个按钮控制: 逻辑也很简单,我大概画下图就是这样的: 但是,在测试时,却发现了问题: 当我点击暂停任务后,此时子线程被阻塞。如果我...
记一次在 Python 中因为文件路径导致的错误 服务端开发

记一次在 Python 中因为文件路径导致的错误

最近在编写一个自动化应用,需要管理浏览器的状态。 通过单例模式的设计,实现了只有一个浏览器实例,这样其它模块或者函数调用这个浏览器类,用的都是同一个实例,就可以管理这个浏览器的状态了。 类似下面这样调...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定