2.基础语法:手指抽筋模拟器
标题就是本节要做的小游戏:手指抽筋模拟器。这是一个可升级游戏,现在我们要实现它的第一级:基础语法级。
玩法:手指不停的点击,看你能点多快!
别走,别走!我知道这游戏看起来有点智障,但鉴于咱还在新手村,打打低级怪练练级先!
建议
基础很重要,不要做的不明不白
代码亲手敲,不能假借别人之手
开心很重要,不然飘飘然找周公
脚本的编辑与运行
别人是一步一个脚印,我是一步一个坑
有坑就要填,免得有人掉进去。
cmd和IDLE里带>>>这种箭头的叫做命令提示行,只能一行一行地写,回车便运行。如果要写很多行并且写写改改就很不方便。所以我们可以打开一个文件,代码全部写好后再一起运行。
编辑
不管什么编辑器都可以快捷键Ctrl+N打开新窗口编辑脚本,我见过有人盯着命令行好久不知所措。
Pydroid3里:
运行
试着把上一节的helloworld代码再写一遍,保存为hello.py文件。
IDLE里点击Run就可以直接运行,SublimeText使用快捷键Ctrl+B运行,Pydroid3点击右下角的黄色按钮。
电脑上你也可以直接双击文件夹里的hello.py运行python文件,但运行结束后黑色窗口会自动关闭,你来不及看到结果,在hello.py里的添加第二行:
input()
这样窗口就不会自动关闭。
但使用SublimeText快捷键直接运行不能使用input()
,否则程序一直不会结束,直到你关闭SublimeText或者到任务管理器里关闭Python。
坑人吧,但是我对SublimeText是真爱!
基础语法
固本培元
数据类型
整型
整数类型,如:1
,666
,1014651
。
浮点型
浮点浮的是小数点,即小数。如:0.16416
,666.666
。
字符串
由单引号或双引号括起来的文本,如:"你好"
,'666'
,"你好666"
。
如果引号里面有引号就要使用转义字符 \ ,如:'I\'m Tom.What\'s your name?'
。
注意括起字符的引号都是英文字符,如果你发现自己的字符串上出了bug,检查一下是不是用了中文字符。
布尔值
即bool值,只有两个值,True
、False
,表示真与假。
变量赋值
试着敲出这段代码并运行
a = 666
print(a)
运行结果就是一个不知名的老铁给你扣了个666。
这里的a就是一个变量名,666就是我们给a赋的值。print的作用就是把它后面括号里的东西显示在结果上,你也可以把a赋值为字符串,看看运行结果。
但不要尝试print=666
,这会改变print
原本的意义(你硬要试试我也不拦你)。
还有些有它原本意义的单词你不能用做变量名,这些单词被称作Python关键字(保留字):
and | as | assert | break | class | continue |
---|---|---|---|---|---|
def | del | elif | else | except | finally |
for | from | False | gloabl | if | import |
in | is | lambda | nonlocal | not | None |
or | pass | raise | return | try | True |
while | with | yield |
不要去记忆上面这密密麻麻的单词!学习编程永远不是死记硬背,而是熟能生巧,上面这些关键字我们之后都会用到。
Python里的变量名是区分大小写的,print和Print是两个东西。
那么变量名还有什么限制吗?
不能用数字或符号开头(除了__这个下划线)
变量名不能有空格
可以用中文字符当作变量名吗?
当然可以,但想想打拼音的工作量以及冥冥之中似乎存在的某种限制,我还是建议你使用英文字符作为变量名。
类型转换
我们可以这样获得变量的类型:
a = 123
b = "123"
c = 123.456
print(type(a))
print(type(b))
print(type(c))
运行结果:
<class 'int'>
<class 'str'>
<class 'float'>
type
会返回括号里数据的类型,int
是整型,str
是字符串,float
是浮点型。
我们可以这样转换他们的类型:
a = 123.456
b = int(a)
c = str(b)
d = float(c)
print(type(b),b)
print(type(c),c)
print(type(d),d)
运行结果:
<class 'int'> 123
<class 'str'> 123
<class 'float'> 123.0
输出输入
输出
print后面的括号里可以放任何数据类型,只要你想知道某个东西是啥,print就行了。
如果要同时print多个东西呢:
print("数:",456,123.456)
可以加无数个逗号把要print的东西串成一行。想用一个print又不想串成一行:
print("数:\n",456,123.456)
使用换行符添加换行。
往字符串里插入数据:
a = "数:%d、%f"%(456,123.456)
print(a)
运行结果:
数:456、123.456000
使用%d这种格式化符号把后面括号的相应类型的数据依次插入到字符串中。
部分格式化符号:
%s | %d | %f | %e |
---|---|---|---|
格式化字符串 | 格式化整数 | 格式化浮点数 | 用科学计数法格式化浮点数 |
输入
使用input()输入:
a = input("输入:")
print(a)
input("输入:")
括号里的字符串作为提示信息,也可以不写。
运行代码后input
会等待你的输入,当你按下回车后,它把你的输入作为一个字符串赋值给a。
数学运算
用python进行一些数学运算非常简单:
print(1+2-3*4/5)
+ | - | * | / | ** | % | // |
---|---|---|---|---|---|---|
加 | 减 | 乘 | 除 | 幂 | 除法求余 | 除法取整数 |
试试上面的运算符,你会发现python是个不错的计算器。
试试下面这个,看看结果是否与你想的一样。
print(5//2)
print(-5//2)
运行结果:
2
-3
这种取整称作向上取整。
条件语句
if-else语句表示如果-否则:
a = 666
if a>555:print("好大!")
else:print("好小")
Python使用缩进来控制语句块的从属关系,比如print("好大!")
属于它上面的if
,print("好小")
属于其上面的else
。当if
后面的条件满足时,便执行属于它的语句块。
if-elif-else语句表示如果-不然如果-否则。elif,表示else if,即不然如果:
a = "dog"
if a=="cat":print("这是猫")
elif a=="rabbit":print("这是兔子")
elif a=="dog":print("这是狗")
else:print("不知道这是啥。")
这是狗
你可能注意到了这里有两个等于号,Python单个等于号表示赋值,两个等于号表示比较。
print(1==2)
结果是个布尔值:False。实际上每个条件判断都会返回一个布尔值。
条件运算符:
== | != | > | < | >= | <= |
---|---|---|---|---|---|
等于 | 不等于 | 大于 | 小于 | 大于等于 | 小于等于 |
使用not
、and
、or
关键字表示非、与、或关系:
print(True and False)
print(True or False)
print(not True)
False
True
False
如果没有接触过其他编程语言这里可能会难以理解。
总的来说:
and
两边都为真时,结果为真or
两边只要有一个为真,结果就为真not
使真变假,假变真
循环语句
衔尾蛇
while循环
a = 0
while a<4:a = a+1print(a)
print("结束")
输出结果:
1
2
3
4
结束
如果while后的条件判断为真(True),就执行属于它的语句块,执行完后再次重复刚才的判断,直到为假(False)就停止循环,执行循环外的代码。
其中语句a=a+1
有更简单的写法:a+=1
,两者效果一样。
类似的还有-=
、*=
、/=
、//=
、**=
、%=
使用break跳出循环:
a = 0
while a<4:a += 1if a==2:breakprint(a)
print("结束")
运行结果:
1
结束
使用continue跳过循环:
a = 0
while a<4:a += 1if a==2:continueprint(a)
print("结束")
运行结果:
1
3
4
结束
实现游戏
闭门造车,出门合辙
还记得开头说的手指抽筋模拟器吗?你已经有了创造这个游戏的所有知识(如果你认真看了上面并试了的话)。我会在下面给出需求、代码和解释。
需求
- 按下回车后显示当前已经按了几下
代码
#手指抽筋模拟器基础语法版.py
num = 0
print("你点我啊!")
while True:input()num += 1print("啊啊啊~",num)
请自行忽略其中的魔性字符串。
第一行:#井号后面包括井号为注释,python不会管注释,你尽可以在里面写些小秘密。
第二行:创建了一个变量num
,并赋值为0
。
第四行:while
后面是判断语句,前面说过所有判断语句都会返回一个布尔值,所以我们也可以直接写一个布尔值。这里的True
,会使while循环永不停止(除非你关闭窗口)。
第五行:input()
会等待你按下回车键再执行下面的代码,所以不用担心无限循环的while会搞坏你的CPU。
第六行:num
增加1。
耐心的敲完上面的代码,玩一玩(尽管这没什么好玩的),你会发现这回有一个游戏bug:只要一直按着回车键就可以了。之后我们会做更多的游戏,顺便升级这个智障的手指抽筋模拟器。
练习
需求
产生一定范围内的一个随机整数
玩家输入猜测的数,提示大了还是小了,玩家再次猜测,直到猜对
猜对后返回猜测次数。
提示代码
import random
num = random.randint(1,1000)
print(num)
第一行:import
导入后面的库,这里导入了random
。
第二行:random.randint(a,b)
的效果是产生a、b之间随机的一个整数。
第三行:print
出来看看。
分析
使用上面的提示代码产生一个随机整数
进入循环,使用
input
等待玩家输入,并将输入转化为整型判断输入大小,
print
提示信息,判断是否猜对、结束循环
试一试,写写看。练习的示例代码会在下一节给出。
键就可以了。之后我们会做更多的游戏,顺便升级这个智障的手指抽筋模拟器。
练习
需求
产生一定范围内的一个随机整数
玩家输入猜测的数,提示大了还是小了,玩家再次猜测,直到猜对
猜对后返回猜测次数。
提示代码
import random
num = random.randint(1,1000)
print(num)
第一行:import
导入后面的库,这里导入了random
。
第二行:random.randint(a,b)
的效果是产生a、b之间随机的一个整数。
第三行:print
出来看看。
分析
使用上面的提示代码产生一个随机整数
进入循环,使用
input
等待玩家输入,并将输入转化为整型判断输入大小,
print
提示信息,判断是否猜对、结束循环
试一试,写写看。练习的示例代码会在下一节给出。
本系列地址:https://gitee.com/ZiKang12138/course/wikis
2.基础语法:手指抽筋模拟器相关推荐
- FPGA(2)基础语法 -- 按键控制led(alway@语句)
目录 1.module 文件名(端口) 2.声明关键字 3.always@语句 代码 1.module 文件名(端口) 注:这里最好养成习惯,只在文件名后面的括号中声明引脚变量,输入输出.关键字类型 ...
- javascript基础语法——表达式
前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression).本文将详 ...
- Rust语言开发基础(六)基础语法
2019独角兽企业重金招聘Python工程师标准>>> 一.变量的定义和使用 其它常见的编程语言对变量的定义通常是通过声明类型和使用关键new来创建一个变量,但Rust不是,Rust ...
- python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型
(点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...
- python赋值语句的一般格式为_Python 基础语法
Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...
- 深入浅出CMake(二): 基础语法
在<深入浅出CMake(一):基础篇>文章中,我们已经知道了怎么依葫芦画瓢编写简单的 CMake 构建文件了,但如果应对复杂的工程的话,这还是远远不够的. CMake 是一套编译构建体系, ...
- Python基础语法学习笔记
Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...
- Python的零基础超详细讲解(第三天)-Python的基础语法
多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如: duohang = item_one + \item_two + \item_three ...
- Python的零基础超详细讲解(第二天)-Python的基础语法1
Python 基础语法 打开python的编辑器 这里注意的是,之前下载的python在电脑主页上没有快捷方式,需要在win开始界面中打开 最终打开效果是一个白色的跟终端类似的编辑器,我们输入的时候是 ...
最新文章
- 【计算理论】计算复杂性 ( 证明团问题是 NP 完全问题 )
- 如何设置电脑锁屏时间_电脑如何设置多屏显示?多屏显示的设置方法
- JUC队列-LinkedBlockingDeque(三)
- jmeter ForEach控制器学习
- 如何以sandbox模式测试开发好的Fiori Launchpad插件
- 【转】tftp命令详解
- 李彦宏:AI 企业要保护隐私;罗永浩回应酷派“欠钱不还”;ofo 郑州公司人去楼空 | 极客头条...
- 企业中有关Server Sharing的一点想法
- Json转换为Model,Struct,Class对象 Swift
- [计算机网络][内容梳理]四、网络层
- lg linux电视安装软件,LG电视如何安装第三方应用软件的方法教程
- Proxomitron之天涯只看规则
- moment.js计算时间差
- R语言实现 懒惰学习——使用近邻分类
- android视频拷到iphone6,苹果和安卓手机保存B站视频到U盘方法介绍
- 基于mina框架的GPS设备与服务器之间的交互
- 期权的定义与BSM定价
- java计算机毕业设计无线通信基站监控及管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- matlab details
- 华为的倔强和悲壮,Nova9不支持5G却比对手更贵