title: python学习笔记
tags: python
abbrlink: 743c31e9
date: 2022-07-26 07:27:06

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

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

环境搭建

python下载

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

第一行代码

print ("hello world")

用python设计第一个游戏

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

""" 用python设计第一个游戏 """

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

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

print ("游戏结束")

查看内置函数

dir (__builtins__)

变量

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

字符串

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

转义字符

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

未使用原始字符串语法

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

使用原始字符串语法

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

  • 末尾再加一个转义符\表示还没结束.
poetry = """
将进酒·君不见

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

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

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

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

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

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

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

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

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

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

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

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

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

# 字符串加减乘除

520 + 1314

1834


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

'5201314'


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

是时候讲讲代码了

""" 用python设计第一个游戏 """

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

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

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

关系运算符

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

改进小游戏

增加提示

""" 用python设计第一个游戏 """
temp = input ("不妨猜一下我心想的哪个数字")
guess = int(temp)

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

增加游戏次数

  • 注意缩进
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 跳出循环

  • 答对只显示一次
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模块
import random
  • 随机获取1-10之间的数字
random.randint(1,10)

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

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 ("游戏结束")

随机数重现

x = random.getstate()
print (x)
random.randint(1,10)

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