python笔记01

目录

一、设计一个小游戏

二、数字类型

2.1、浮点型

2.2、虚数

2.3、运算符号

 三、逻辑运算符

 3.1、短路逻辑

3.2、运算符优先级

 四、流程图​编辑

五、分支和循环语句

while循环

 while循环打印9*9乘法表

for循环

 用for循环找出十以内全部的素数

 六、列表6.1、初识列表

6.2、增删改查

6.2.1、增

 6.2.2、删

 6.2.3、改

 6.2.4、排序

 6.2.5、查

 6.3、列表的加法和乘法

 6.4、嵌套列表

6.5、is运算符

6.6、浅拷贝和深拷贝

浅拷贝

深拷贝

6.7、列表推导式

6.8、如何真正的创建一个二维列表

 6.9、列表推导式语句执行顺序

 6.10、嵌套的列表推导式


一、设计一个小游戏

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

import random

counts = 3
answer = random.randint(1,10)
while counts > 0:
    temp = input("请输入一个数字")
    guess = int(temp)
    if guess == answer:
        print("回答正确")
        break
    else:
        if guess < answer:
            print("小了")
        else:
            print("大了")
    counts = counts - 1

print("游戏结束")

这里import random的意思是添加随机数

random.randint(1,10)是一个1-10的随机数

二、数字类型

2.1、浮点型

python和c语言一样都是采用IEEE754的标准来储存浮点数的,会产生一定精度的误差

x = 0
while x < 1:
    x = x + 0.1
    print(x)

输出结果

解决办法

import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)
0.3

2.2、虚数

x.real是实部,x.imag是虚部

2.3、运算符号

//---地板除 ,取比目标数小的最大整数

pow内置函数

pow(x,y)---x ** y

pow(x,y,z)---- x ** y % z

 

 三、逻辑运算符

 3.1、短路逻辑

 第一个表达式:and是两个都为真才为真,3为真还要判断4,所以输出为4

第二个表达式:or是有一个为真就为真,判断3为真,4的结果对于最终结果无关紧要了

第三个表达式:判断0为假,无论3为真为假,结果都是假,所以不去判断3

第四个表达式:判断到0为假,如果3为真,结果为真,如果3为假,结果为假所以要判断后面那个

 综上所述

3.2、运算符优先级

从下往上

 例

 

 四、流程图

五、分支和循环语句

上面这种是通常的语法,下面的条件表达式好处就是把四行变成了一行

 一般还是用第一种方法

while循环

有else的情况:

""" 七天打卡学习 """

day = 1

while day <= 7:
    temp = input("今天有好好学习吗")
    if temp != "有":
        break
    day += 1
else:
    print("你已连续七天打卡")
    

输出结果

 没有else的情况:

""" 七天打卡学习 """

day = 1

while day <= 7:
    temp = input("今天有好好学习吗")
    if temp != "有":
        break
    day += 1
#else:
print("你已连续七天打卡")
    

输出结果

 显而易见,有else的时候,while循环只有正常结束循环才会执行else中的代码。

 while循环打印9*9乘法表

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(i, '*', j, "=", i * j, end = "  ")
        j += 1
    print()
    i += 1

for循环

 for循环很多时候搭配range函数一起使用,range函数有三种用法

 

 

 用for循环找出十以内全部的素数

for n in range(2,10):
    for x in range(2,n):
        if n % x == 0:
            print(n, "=", x, "*", n // x)
            break
    else:
        print(n,"是一个素数")

 输出结果:

 六、列表
6.1、初识列表

 

6.2、增删改查

6.2.1、增

在末尾增

 

 在指定位置增

用到insert函数

 6.2.2、删

 remove函数,pop函数和clear函数

 6.2.3、改

 6.2.4、排序

 

 6.2.5、查

这里的copy函数是浅拷贝

 

 6.3、列表的加法和乘法

 6.4、嵌套列表

这里两种不同的方式建立出来一样的列表A和B为什么不同呢?

6.5、is运算符

字符串是不可变的

 列表是可变的,尽管两个列表是一样的,但是python还是要为他们开辟两个空间分别存放

 

 B试图通过乘号对一个嵌套列表进行拷贝,它拷贝的只是对同一个列表的引用

6.6、浅拷贝和深拷贝

 python中,将一个变量赋值给另一个变量,其实就是将一个变量的引用传递给另一个变量

浅拷贝

这两种方式都是浅拷贝

浅拷贝处理一级列表是没问题的,但是涉及到嵌套列表,就会出现问题

深拷贝

 要实现深拷贝,要借助copy模块

这个模块中有两个函数,copy和deepcopy,copy模块中的copy函数和上面的copy函数一样,是浅拷贝,而deepcopy函数就是深拷贝

6.7、列表推导式

怎么把一个整数列表中所有元素都乘2呢

对字符串的使用也是一样的

 那如果要把字符串中的字符变成对应的编码呢

这里可以用到code函数

获得列表的某一列元素

 

 当用循环和列表推导式实现同样的一个结果的时候,他们的效果是不完全一样的

循环是通过迭代来逐个修改原列表中的元素,而列表推导式是重新创建一个列表,再重新赋值为原先的这个变量名

6.8、如何真正的创建一个二维列表

 使用列表推导式可以很快地创建出一个二维列表

 6.9、列表推导式语句执行顺序

 先执行for语句,再执行if语句,最后执行i + 1

如何从字符串列表中取出首字母为F的元素

 6.10、嵌套的列表推导式

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值