鱼C python笔记(一直更新在此页)

1
https://www.bilibili.com/video/BV1c4411e77t?p=1&vd_source=cc5a1628821098205422c5d510806bf5

环境搭建

python下载

1
https://www.python.org/downloads/
  • 下载最新版本即可,安装第一步时点上add python 版本号 to PATH
  • 编辑器使用IDLE

第一行代码

1
print ("hello world")

用python设计第一个游戏

首先点击左上角file然后new file

1
2
3
4
5
6
7
8
9
10
11
12
""" 用python设计第一个游戏 """

temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == 8:
print ("haha,猜中了")
else:
print ("猜错了")

print ("游戏结束")

查看内置函数

1
dir (__builtins__)

变量

  • 变量名不能用数字开头.
  • 变量名区分大小写.
  • python 3 支持中文变量名.
1
2
x = 3
print (x)
1
2
3
x = 3
y = 3
y = x
1
2
3
4
5
x = 3
y = 5
x = y
y = z
print (x,y)
1
2
3
4
x = 3
y = 5
x,y = y,x
print (x,y)

字符串

1
print ('I LOVE CHINA')
1
print ("I LOVE CHINA")
  • 双引号内有单引号
1
print (" let's go ! ")
  • 单引号内有双引号
1
print (' " 永远不要只满足于世界的表象,要敢于探寻未知的可能。 " ')

转义字符

  • 一句话既有单引号又有双引号
1
print (' \" 敢于探寻未知的可能,let\'s go ! " ')
  • 换行
1
print (' \" 敢于探寻未知的可能 \n let\'s go ! " ')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\(在行尾时)	续行符
\\ 反斜杠符号
\’ 单引号
\” 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数yy代表的字符,例如:\o12代表换行
\xyy 十进制数yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
  • 原始字符串

    未使用原始字符串语法

1
print (" D:\three\two\one\now ")   顺序会错乱
1
print (" D:\\three\\two\\one\\now ")  再加一层转义字符,但是比较麻烦.

使用原始字符串语法

1
print (r" D:\three\two\one\now ")  加上小写字母 r 

  • 末尾再加一个转义符\表示还没结束.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
poetry = """
将进酒·君不见

【作者】李白 【朝代】唐译文对照

君不见,黄河之水天上来,奔流到海不复回。

君不见,高堂明镜悲白发,朝如青丝暮成雪。

人生得意须尽欢,莫使金樽空对月。

天生我材必有用,千金散尽还复来。

烹羊宰牛且为乐,会须一饮三百杯。

岑夫子,丹丘生,将进酒,杯莫停。

与君歌一曲,请君为我倾耳听。

钟鼓馔玉不足贵,但愿长醉不愿醒。

古来圣贤皆寂寞,惟有饮者留其名。

陈王昔时宴平乐,斗酒十千恣欢谑。

主人何为言少钱,径须沽取对君酌。

五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。
"""
1
print (poetry)

字符串加减乘除

1
520 + 1314

1834


  • 加法 拼接
1
'520' + '1314'

‘5201314’


  • 乘法 复制
1
print (" 爱你三千遍 " * 3000)

是时候讲讲代码了

1
2
3
4
5
6
7
8
9
10
11
""" 用python设计第一个游戏 """

temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == 8:
print ("haha,猜中了")
else:
print ("猜错了")

print ("游戏结束")
  • temp 与用户交互
1
2
3
4
temp = input ("aaaaa")
aaaaa111
print (temp)
111

关系运算符

1
2
3
4
5
6
7
8
>	大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
< 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
== 等于,如果==两边的值相等,则返回 True,否则返回 False。
>= 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<= 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!= 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

改进小游戏

增加提示

1
2
3
4
5
6
7
8
9
10
11
12
13
""" 用python设计第一个游戏 """
temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == 8:
print ("haha,猜中了")
else:
if guess < 8 :
print ("数字小了")
else:
print ("数字大了")
print ("游戏结束")

增加游戏次数

  • 注意缩进
1
2
3
4
5
6
7
8
9
10
11
12
13
14
counts = 3
while counts > 0:
temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == 8:
print ("haha,猜中了")
else:
if guess < 8 :
print ("数字小了")
else:
print ("数字大了")
counts = counts - 1
print ("游戏结束")

break 跳出循环

  • 答对只显示一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
counts = 3
while counts > 0:
temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == 8:
print ("haha,猜中了")
break
else:
if guess < 8 :
print ("数字小了")
else:
print ("数字大了")
counts = counts - 1
print ("游戏结束")

每次运行答案是随机的

random 模块

查看文档

  • 点击菜单栏help选择python docs 左边可搜索关键字.
    导入random模块
1
import random
  • 随机获取1-10之间的数字
1
random.randint(1,10)

答案是随机1-10之间的数字

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

counts = 3
answer = random.randint(1,10)
while counts > 0:
temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

if guess == answer:
print ("haha,猜中了")
break
else:
if guess < answer :
print ("数字小了")
else:
print ("数字大了")
counts = counts - 1
print ("游戏结束")

随机数重现

1
2
3
4
5
6
x = random.getstate()
print (x)
random.randint(1,10)

random.setstate(x)
random.randint(1,10)