一段简单的代码

我们先输入一段非常简单的代码,通过代码一步步讲解Python的基本结构,为后面的学习打下基础。虽然代码都看不懂,但是没关系,只要照着敲一遍,能成功运行就说明掌握了Python的代码结构了。

下面是一个猜1-100之间随机数的游戏,流程也很简单,生成一个1-100的随机数,让用户输入一个数字,比较输入的数字和随机数是否相等,输出对于的信息,直到用户猜对数字为止。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random

if __name__ == "__main__":
print("我们来玩猜数字游戏吧!")
number = random.randint(1, 100)

while True:
inpNumber = input("请输入你猜的数字:")
if int(inpNumber) < number:
print("你的数字小了.")
elif int(inpNumber) > number:
print("你的数字大了.")
else:
print("你猜对了.")
break

运行效果

1
2
3
4
5
6
7
8
9
10
11
12
13
我们来玩猜数字游戏吧!
请输入你猜的数字:50
你的数字大了.
请输入你猜的数字:25
你的数字小了.
请输入你猜的数字:35
你的数字大了.
请输入你猜的数字:30
你的数字大了.
请输入你猜的数字:28
你的数字大了.
请输入你猜的数字:26
你猜对了.

好了,接下来就是讲解结构了。

main?

如果有了解过其他编程语言的话,都会知道,大部分编程语言都会有一个叫main的入口,这是代码唯一的入口,也是整个项目的唯一入口。Python有,但是算不上有,Python并没有强制一个项目里只能有一个mian,可以出现在多个代码文件里,哪个文件最先执行,哪个文件就是mian。比如:A文件里有main,B文件也有main,A先执行,然后B执行,那么A就是main,反过来,B先执行,然后A执行,那么B就是main谁最先执行谁就是main

if __name__ == "__main__":

if __name__ == "__main__":,这句就是所谓的main了,也是固定写法,含义就是在执行的时候,如果这个文件是最先执行,也就是入口的话,那么这句话下面的代码都执行,否则都不执行。当然mian也不是强制需要的,你也可以写成下面的代码,运行效果完全一样,没什么区别,建议从一开始就养成好习惯,代码从mian开始,更多的细节会在后面的章节讲解,这里就先记住这句代码的含义。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import random

print("我们来玩猜数字游戏吧!")
number = random.randint(1, 100)

while True:
inpNumber = input("请输入你猜的数字:")
if int(inpNumber) < number:
print("你的数字小了.")
elif int(inpNumber) > number:
print("你的数字大了.")
else:
print("你猜对了.")
break

运行效果

1
2
3
4
5
6
7
8
9
10
11
我们来玩猜数字游戏吧!
请输入你猜的数字:50
你的数字大了.
请输入你猜的数字:25
你的数字小了.
请输入你猜的数字:40
你的数字大了.
请输入你猜的数字:35
你的数字大了.
请输入你猜的数字:30
你猜对了.

代码块

代码块是用来包裹一段代码逻辑的块,在Python里你不需要使用{}来包裹,而是通过每行的缩进来表示,正如一开始的例子,print("我们来玩猜数字游戏吧!"),这行前面有4个空格,这就是代码层级。普遍大家都会用一个Tab(键盘Q左边的键)表示一个层级,Python的层级缩进是非常严格的,如果层级缩进不匹配的话,会出现严重错误,这点是所有初学者都会犯得错误。再举个例子,inpNumber = input("请输入你猜的数字:"),这句代码前面有8个空格(2个Tab),表示这句代码是在while True:里,是while True:的下一个层级。

Tab?空格?

前面说过,Python是根据缩进表示层级,缩进的方法就是空格,Tab也是空格,通常情况下一个Tab表示4个空格,这里推荐用Tab来缩进,理由就是大家都是这么做的,相信你也不会搞特殊。当然缩进并不一定要4个空格,你也可以用1个空格,只要你能保证层级关系,下面这段代码也可以运行,而且效果完全一样。明显可以看出来,和一开始的代码比起来难看多了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import random

print("我们来玩猜数字游戏吧!")
number = random.randint(1, 100)

while True:
inpNumber = input("请输入你猜的数字:")
if int(inpNumber) < number:
print("你的数字小了.")
elif int(inpNumber) > number:
print("你的数字大了.")
else:
print("你猜对了.")
break

运行效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
我们来玩猜数字游戏吧!
请输入你猜的数字:50
你的数字小了.
请输入你猜的数字:75
你的数字大了.
请输入你猜的数字:60
你的数字大了.
请输入你猜的数字:55
你的数字小了.
请输入你猜的数字:58
你的数字大了.
请输入你猜的数字:57
你的数字大了.
请输入你猜的数字:56
你猜对了.

其他

这个猜数字的代码还有很多其他的语句,比如导入包,输入,输出,判断,循环,这些都会在后面的章节详细的讲解,这章的主要目的并不是代码,而是了解Python的基本结构,特别是缩进,这是最主要的,这点也是初学者最容易出错的。

好了,这章比较短,初学者建议多敲敲这个猜数字的代码,搞清楚Python的缩进,这对后面的学习会非常有用。