鱼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)