admin管理员组

文章数量:1647854

目录

一、Python简介与工具安装(pass)

        1.Python简介

        2.Python解释器安装

        3.PyCharm开发工具安装

        4.Python前篇-计算机基本组成

        5.Python前篇-互联网软件思想解读

        6.Python前篇-程序语言与基础补课

二、Python函数与变量引用

        7.第一个函数print        

        8.转义字符的使用

        9.标识符与保留字

        10.Python中的变量

        11.变量的多次赋值

三.Python的数据类型使用

        12.Python中的常用数据类型

        13.Python的进制运算

        14.Python的浮点类型

        15.Python的布尔类型

        16.Python的字符串类型

        17.数据类型的转换

        18.其他类型数据转为float

        19.Python中的注解

        20.input函数的简单使用

        21.input函数的高级使用

四.Python的运算符实战

        22.Python的算术运算符

        23.赋值运算符

        24.比较运算符

        25.布尔运算符

        26.位运算符

        27.运算符的优先级

        28.程序的组织结构-顺序结构

​编辑

        29.对象的布尔值

五.程序的组织结构

        30.选择结构-单分支

        31.选择结构-双分支

        32.选择结构-多分支

        33.嵌套if的使用

        34.条件表达式

六.Python的循环控制语句

        35.Python的pass语句

        36.Python的range()函数

        37.Python中的while循环结构

        38.while循环练习

        39.Python中的for-in循环结构

        40.break流程控制语句

        41.coutinue流程控制语句

        42.else的使用

        43.嵌套循环的使用

        44.二重循环的break和continue使用

        七.循环练习

        1.输入一个数,求这个数的阶乘:

        2.折纸上月球:地球和月球最短距离为363300公里,一张A4纸0.088mm,问需要折多少下才能到达月球?

        3.求和 求s= a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如: 2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )

        4.  如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。那么球在第10次落地时,共经过多少米呢? 第10次反弹多高?

        5.我国现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?

        6.打印99乘法表

        7.求1!+2!+3!+4!+5!的和 

        8、星号三角形:输入一个奇数N,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。

        9.求1~100之间能被7整除,但不能同时被5整除的所有整数 。

        10.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153=1+125+27。

        11.求平均分

        12.百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。 

        13.输出100以内的所有素数

        14.输入一个数,判断是否为素数

        15.给用户9次机会,猜1-10个数字随机猜数字,如果随机的数字和用户的数字一致则表示正确,如果不一致则表示错误. 

        16.要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合规则,打印出不符合的原因,并提示从新输入~

八.Python的列表操作 

        45.列表的概念理解

        46.列表的创建

        47.列表的特点

        48.列表获取指定元素的索引

        49.获取列表中单个元素

        50.获取列表中多个元素

        51.列表元素的查询操作

        52.添加列表元素

        53.列表元素的删除操作

        54.列表元素的排序操作

        55.列表生成式

八-1.字符串练习

        1. 判断单词great是否在这个字符串中,如果在,则将每一个great后面加一个s, 如果不在则输出 great不在该字符串中;将整个字符串的每一个单词都变成小写,并使每一个单词的首字母变成大写;去除首尾的空白,并输出处理过后的字符串 

        2.切片的用法:现有字符串如下:words = “abcdefghi”    请使用切片提取出ceg

        3.做一个简单的用户信息管理系统:提示用户依次输入姓名,年龄和爱好,并且在输入完成之后,一次性将用户输入的数据展示出来。

        4.整除和取余

八-2.列表练习

        1.将一些朋友姓名存储在一个列表中,并命名为names。依次访问该列表中的每个元素,将每个朋友的姓名都打印出来

        2.继续使用上一个的列表,为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名

        3.想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列 有关这些通勤方式的宣言,如“I would like to own a Honda motorcycle”。

        4.请创建一个列表,其中包含至少3个你想邀请的人;然后,使用这个列表打印消息,邀请这些人来与你共进晚餐

        5.你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。

        6.你刚找到了一个更大的餐桌,可容纳更多的嘉宾。

        7.以完成练习6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。

        8.想出至少5个你渴望去旅游的地方。 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。 按原始排列顺序打印该列表。

        9.使用len()打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。

        10.给定一个列表,首先删除以s开头的元素,删除后,修改第一个元素为"joke",并且把最后一个元素复制一份,放在joke的后边 list = ['spring', 'look', “strange' “curious', “black', “hope']

        11.有一个列表,判断列表中的每一个元素是否以s或e结尾,如果是,则将其放入一个新的列表中,最后输出这个新的列表

        12.现有a=[1,2,3,4,5,6],用多种方式实现列表的反转,并写出推导过程

        13.有两个列表lst1=[11,22,33],lst2=[22,33,44],获取内容相同的元素

        14.现在有8位老师,3个办公室,要求8位老师随机分配到三个办公室中

        15.已知一个列表 lst = [1,2,3,4,5]

        16.修改列表:lst = [1, [4, 6], True]        请将列表里所有数字修改为原来的两倍

        17.列表lst内容如下:lst = [2,5,6,7,8,9,2,9,9]

        18.列表lst内容如下: lst = [2,5,6,7,8,9,2,9,9]

        19.在一行输入多个好友的名字,空格隔开,然后把他们转为列表,接着输入要删除的好友名字,删除这个好友

        20.按分数排名从高到低输入3个以上学生名字,空格隔开,将他们转为列表,并淘汰分数最低的3个,输出新列表

        21.二维列表

        22.密码游戏

         23.用列表实现栈

        24.禁止重复注册

        25.求平均绩点

九.Python的字典操作

        56.字典的定义

        57.获取字典元素

        58.字典的key判断

        59.字典的视图

        60.字典元素的遍历

        61.字典的特点

        62.字典生成式

十.python的元组操作

        63.元组的定义

        64.元组的创建

        65.元组-不可变序列

        66.元组的遍历

  十一.python的集合操作

        67.集合的定义

        68.集合的相关操作

        69.集合间的运算关系

        70.集合的数据操作

        71.集合的生成式

十二.Python的字符串操作

        72.字符串的驻留机制

        73.字符串的查询操作

        74.字符串的大小写转换操作

        75.字符串的对齐操作

        76.字符串的分割操作

        77.字符串的判断操作

        78.字符串的替换操作

        79.字符串的比较操作

        80.字符串的切片操作

        81.格式化字符串

        82.字符串的编码和解码

十三.Python的函数应用 

        83.函数的创建和调用

        84.函数的参数传递

        85.函数的参数传递内存分析

        86.函数的返回值

        87.函数的默认参数值

        88.函数的参数定义

        89.变量的作用域

        90.递归函数

十三-1.函数练习 

        1.求30000以内的“的士数”:存在两组不同的a**3+b**3等于其本身的数

十四.Python的bug定位与调试

        93.bug的常见类型

        94.Python的异常处理机制

        95.python的常见异常类型

        96.python的traceback模块

        97.如何在pycharm中调试代码

        综合练习-学员管理系统

十五.Python中的类与对象

        98.软件编程思想

        99.类与对象

        100.python中的类定义

        101.给对象单独增加方法或属性

        102.使用self在类封装的方法中输出对象的属性

        103.创建对象时自动调用初始化方法

        104.初始化方法改进——使用参数设置属性初始值

        105. del方法和对象的生命周期

        106.__str__方法定制变量输出信息

十六.面向对象封装案例

        107.封装特性和需求分析

        108.需求分析——被使用的类应该先开发

        109.类的属性可以是另一个类创建的对象

        110.私有属性和私有方法

        111.单继承

        112.方法的重写

        113.私有方法属性子类不能直接访问

        114.多继承

        115.面向对象的多态性

        116.类属性

        117.类方法和静态方法

        118.方法综合

        119.动态绑定属性和方法

        120.类的赋值与拷贝

        类的组合

         类相关的一些内置函数(BIF)

        魔法方法案例1

        魔法方法案例2

         描述符

        定制序列

十七.python的模块应用

        121.模块基础概念

        122.模块的导入

        123.python中的包(python package)

十八.Python中的文件操作

        1.文件的基本操作

        2.导入OS模块,执行文件和目录的管理操作

十九.一闭三器

        1.迭代器

        2.生成器

        3.闭包

        4.装饰器


一、Python简介与工具安装(pass)

        1.Python简介

        2.Python解释器安装

        3.PyCharm开发工具安装

        4.Python前篇-计算机基本组成

        5.Python前篇-互联网软件思想解读

        6.Python前篇-程序语言与基础补课

二、Python函数与变量引用

        7.第一个函数print        

print(520)
print(11.2)
print('hello')
print("hello")
print(1-3)
print('my', 'name', 'is caiyin')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

520
11.2
hello
hello
-2
my name is caiyin

        8.转义字符的使用

print('hello\nword') #\n表示换行显示后面的内容
print('hello\tword') #\t相当于tab
print('hello\rword') #覆盖\r前的所有内容
print('hello\bword') #\b相当于按一次删除键
#字符串中存在\ '等字符,前面加\输出原字符
print('http:\\\\www.baidu')
print('小明说:\'大家好,我是小明\'')
print(r'hello\nword') #开头加r,让转义字符失效,输出原字符串

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

hello
word
hello	word
word
hellword
http:\\www.baidu
小明说:'大家好,我是小明'
hello\nword

        9.标识符与保留字

import keyword  #将保留字从库中导出
print(keyword.kwlist)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

        10.Python中的变量

变量是内存中一个带标签的盒子,把我们需要的数据放进去。

格式:变量名      数值运算符      值

变量由三部分组成:

        标识符:表示对象所存储的内存地址,使用内置函数id(obj)来获取

        类型 :表示对象的数据类型,使用内置函数type(obj)来获取

        值:表示对象所存储的具体数据,使用print(obj)对值进行打印输出

name = 'caiyin'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)

x,y = 1,2
print(x-y)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

caiyin
标识 2819537975792
类型 <class 'str'>
值 caiyin
-1

        11.变量的多次赋值

          每一次赋值后,变量会指向一个新的内存空间。

name = 'james'
print(name)

name = 'Peter'
print(name)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

james
Peter

三.Python的数据类型使用

        12.Python中的常用数据类型

int        整型        例:100

float     浮点型    例:2.33

bool     布尔型    True, False

str        字符串    '让学习成为一种享受'

a = 99
b = 1.33
c = True
d = 'hello'
print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

99 <class 'int'>
1.33 <class 'float'>
True <class 'bool'>
hello <class 'str'>

        13.Python的进制运算

print('十进制', 114)
print('二进制', 0b10011101) #0b表示后面的数是二进制,print函数将其转为十进制输出
print('八进制', 0o145) #0o表示后面数字是八进制
print('十六进制', 0x1EF54656) #0x表示后面数字为十六进制

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

十进制 114
二进制 157
八进制 101
十六进制 519390806

        14.Python的浮点类型

a = 1.07678
print(a,type(a))

c = 1.1
d = 2.2
print(c+d)

from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

1.07678 <class 'float'>
3.3000000000000003
3.3

        15.Python的布尔类型

a = True
b = False
print(a, type(a))
print(b, type(b))

print(a+1) #True=1
print(b+1) #False=0

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

True <class 'bool'>
False <class 'bool'>
2
1

        16.Python的字符串类型

字符串或串(string)是由数字、字母、下划线组成的一串字符。

字符串被称为不可变的字符序列,可以使用单引号、双引号、三引号来定义' '  " "  ''' '''  “”“ ”“”

单引号和双引号定义的字符串必须在同一行

三引号定义的字符串可以连续分布在多行中

s1 = '跟james学Python,月薪过万'
s2 = "跟james学Python,月薪过万"

s3 = '''跟james学Python,
月薪过万'''
s4 = """跟james学Python,
月薪过万"""

print(s1, type(s1))
print(s2, type(s2))
print(s3, type(s3))
print(s4, type(s4))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

跟james学Python,月薪过万 <class 'str'>
跟james学Python,月薪过万 <class 'str'>
跟james学Python,
月薪过万 <class 'str'>
跟james学Python,
月薪过万 <class 'str'>

        17.数据类型的转换

函数名    作用                                                注意事项                                            案例

str()        将其他数据类型转换为字符串        也可用引号转换                                str(123)      '123'

int()        将其他数据类型转换为整数            文字类和小数无法转换                      int(123)

                                                                      浮点数转换为整数,抹零取整           int(9.8)

float()     将其他数据类型转换为浮点数         文字类无法转浮点型                         float('9.9')

                                                                      整数转浮点数,末尾为.0                   float(9)

name = 'caiyin'
age = 35
print(type(name), type(age), type(str(age)))
print('我是'+name+',今年'+str(age)+'岁')  #+号起连接符作用
#将其他数据类型转换为字符串
a = 9
b = 18.8
c = False
print(type(a), type(b), type(c))
print(str(a), str(b), str(c))
#将其他数据类型转换为整型
a1 = '145'
f1 = 76.8
a2 = '77.8'
ff = True
a3 = 'caiyin'
print(int(a1), type(int(a1)))
print(int(f1), type(int(f1)))
# print(int(a2), type(a2)) #会报错,字符串里的数是浮点数不能转为整型
print(int(ff), type(int(ff)))
# print(int(a3), type(int(a3))) #会报错,文本类无法转为整型

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

<class 'str'> <class 'int'> <class 'str'>
我是caiyin,今年35岁
<class 'int'> <class 'float'> <class 'bool'>
9 18.8 False
145 <class 'int'>
76 <class 'int'>
1 <class 'int'>

        18.其他类型数据转为float

s1 = '13.3'
s2 = '45'
ff = True
s3 = 'caiyin'
i = 67
print(type(s1), type(s2), type(ff), type(s3), type(i))
print(float(s1), type(float(s1)))
print(float(s2), type(float(s2)))
print(float(ff), type(float(ff)))
#print(float(s3), type(float(s3))) #会报错,字符串是非数字无法转为浮点型
print(float(i), type(float(i)))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

<class 'str'> <class 'str'> <class 'bool'> <class 'str'> <class 'int'>
13.3 <class 'float'>
45.0 <class 'float'>
1.0 <class 'float'>
67.0 <class 'float'>

        19.Python中的注解

单行注释:以#开头,换行结束

多行注释:并没有单独的多行注释标记,将一对三引号之间的代码作为多行注释

中文编码声明注释:#coding:gbk

x = 1
y = 2
# 打印x与y相加的结果
'''
这是一个注释
你好
打印x+y的结果
'''
print(x+y)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

3

        20.input函数的简单使用

input函数        作用:接收来自用户的输入

                       返回值类型:输入值的类型为str

                       值的存储:使用等号=对输入的值进行存储

str = input('请输入你的名字:')
print(str)
#
'''
1.打印(请输入你的名字:)
2.接收键盘输入内容
3.将内容传递给变量str
'''

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

请输入你的名字:caiyin
caiyin

        21.input函数的高级使用

# 从键盘输入两个整数,并计算它们的和
x = int(input('请输入一个整数:'))
# x = int(x)
y = int(input('请输入另一个整数:'))
# y = int(y)
print(type(x), type(y))
print(x+y)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个整数:33
请输入另一个整数:66
<class 'int'> <class 'int'>
99

四.Python的运算符实战

        22.Python的算术运算符

Python中的常用运算符有:算术运算符、赋值运算符、比较运算符、布尔运算符

其中算术运算符分为:标准算术运算符、取余运算符、幂运算符

print(1+3)  # 加法运算
print(2-3)  # 减法运算
print(3*3)  # 乘法运算
print(4/8)  # 除法运算

print(11//2)    # 整除运算
print(11%2)     # 取余运算
print(6**6)     # 次方运算
print(9//4)
print(-9//4)    # 整除结果为负数时,向下取整

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

4
-1
9
0.5
5
1
46656
2
-3

        23.赋值运算符

# 运算顺序从右到左
i = 3+4
print(i)

a=b=c=33
print(a, id(a))
print(b, id(b))
print(c, id(c))

a = 35
a += 50
print(a)
a -= 66
print(a)
a *= 6
print(a)
a /= 2
print(a, type(a))
#解包赋值
a,b,c = 12,33,66
print(a,b,c)

a,b = 33,66
print(a,b)
a,b = b,a
print(a,b)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

7
33 3120762848496
33 3120762848496
33 3120762848496
85
19
114
57.0 <class 'float'>
12 33 66
33 66
66 33

        24.比较运算符

> < >= <= !=

== : 对象value值的比较

is, is not:对象ID的比较

a,b = 33,66
print('a大于b吗:', a>b)
print('a小于b吗:', a<b)
print('a大于等于b吗:', a>=b)
print('a小于等于b吗:', a<=b)
print('a等于b吗:', a==b)
print('a不等于b吗:', a!=b)

a = 12
b = 12
print(a is b)   #比较value值
a = [1,2,3,4]
b = [1,2,3,4]
print(a is b)   #比较地址ID
print(a is not b)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

a大于b吗: False
a小于b吗: True
a大于等于b吗: False
a小于等于b吗: True
a等于b吗: False
a不等于b吗: True
True
False
True

        25.布尔运算符

''' (1)and的返回结果:从左到右,如果结果为真,返回最后一个真;如果结果为假,返回第一个假
    (2)or的返回结果:从左到右,如果结果为真,返回遇到的第一个真值;如果结果为假,返回最后一个假值'''
a,b = 15,20
print('--------and--------')
print(a==15 and b==20)
print(a==19 and b==20)
print(a==15 and b==23)
print(a==22 and b==23)
print(a and b)
print('--------or--------')
print(a==15 or b==20)
print(a==19 or b==20)
print(a==15 or b==23)
print(a==22 or b==23)
print(a or b)
print('--------in与not in--------')
ks = 'my name is caiyin'
print('m' in ks)
print('k' in ks)
print('--------not--------')
ff = True
ss = False
print(not ff)
print(not ss)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

--------and--------
True
False
False
False
20
--------or--------
True
True
True
False
15
--------in与not in--------
True
False
--------not--------
False
True

        26.位运算符

与运算:两个二进制数对应的位都为1,结果为1,反之结果为0

或运算:两个二进制数对应的位都为0,结果为0,反之结果为1

左位移:高位溢出,低位补0

右位移:高位补0,低位截断

print(4&8)  # 按位与&,只有同时为1结果才为1
print(4|8)  # 按位或|。只有同时为0结果才为0
print(4<<1) # 左移1位,相当于乘2
print(4>>1) # 右移1位,相当于除以2

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

0
12
8
2

        27.运算符的优先级

算术运算符>赋值运算符>布尔运算符>比较运算符>位运算符

        28.程序的组织结构-顺序结构

        29.对象的布尔值

Python中一切皆对象,所有对象都有一个布尔值,获取对象的布尔值用内置函数 bool()

以下对象布尔值为False:False、数值0、None、空字符串、空列表、空元组、、空字典、空集合

其它对象布尔值均为True

五.程序的组织结构

        30.选择结构-单分支

money = 10000
draw = int(input('请输入您要取的金额:'))
if money >= draw:
    money = money-draw
    print('取款成功,您的余额为:', money)
    
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入您要取的金额:8000
取款成功,您的余额为: 2000

        31.选择结构-双分支

两个选择必然会执行一个

number = int(input('请输入一个整数:'))
if number%2 == 0:
    print(number, '是一个偶数')
else:
    print(number, '是一个奇数')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个整数:15
15 是一个奇数

        32.选择结构-多分支

mystar = int(input('当前用户的星数:'))
if mystar>=0 and mystar<10:
    print('当前段位是青铜')
elif mystar>=10 and mystar<30:
    print('当前段位是白银')
elif mystar>=30 and mystar<50:
    print('当前段位是黄金')
elif mystar>=50 and mystar<70:
    print('当前段位是铂金')
elif mystar>=70 and mystar<80:
    print('当前段位是钻石')
elif mystar>=80 and mystar<90:
    print('当前段位是星耀')
elif mystar>=90 and mystar<=100:
    print('当前段位是王者')
else:
    print('错误的信息')
    
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

当前用户的星数:93
当前段位是王者

        33.嵌套if的使用

mystar = int(input('当前用户的星数:'))
sex = input('请输入你的性别:')
if mystar>=0 and mystar<10:
    print('当前段位是青铜')
    if sex == '男':
        mystar += 1
    else:
        mystar += 2
    print('当前星数为:', mystar)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

当前用户的星数:9
请输入你的性别:女
当前段位是青铜
当前星数为: 11

        34.条件表达式

a = int(input('请输入一个整数:'))
b = int(input('请输入另一个整数:'))
if a >= b:
    print('a大于等于b')
else:
    print('a小于b')
# 条件表达式:
print(str(a)+'大于等于'+str(b) if a>=b else str(a)+'小于'+str(b))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个整数:13
请输入另一个整数:14
a小于b
13小于14

六.Python的循环控制语句

        35.Python的pass语句

VIP = input('你是我们的VIP客户吗? Y/N: ')
if VIP == 'Y':
    pass
else:
    pass

high = int(input('请输入您的身高:'))
if high:    # 相当于进行布尔运算,判断变量值为True还是False
    print(high)
else:
    print('身高为'+str(high))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

你是我们的VIP客户吗? Y/N: Y
请输入您的身高:0
身高为0

        36.Python的range()函数

x = [1,2,3,4,5]
print(list(x))  # 打印列表时要加list

r = range(10)   # 定义一个从0开始,9结束,间隔为1的列表
print(list(r))
r = range(2,10) # 定义一个从2开始,9结束,间隔为1的列表
print(list(r))
r = range(1,10,2)   # 定义一个从1开始,9结束,间隔为2的列表
print(list(r))

print(3 in r)
print(2 in r)
print(3 not in r)
print(2 not in r)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

[1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9]
True
False
False
True

        37.Python中的while循环结构

判断N+1次,条件为True执行1次

x = 7
while x < 10:
    print(x, type(x))
    x += 1
print('循环结束')

# 计算1+2+3+4+5+6+7+8+9
x = 0
sum = 0
while x < 10:
    sum = sum+x
    x += 1
print('结果为:'+str(sum))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

7 <class 'int'>
8 <class 'int'>
9 <class 'int'>
循环结束
结果为:45

        38.while循环练习

# 计算0-10所有偶数的和
x = 0
sum = 0
while x <= 10:
    if x%2 ==0:    #    if not bool(x%2):
        sum = sum+x
    x += 1
print('0-10所有偶数的和为:', sum)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

0-10所有偶数的和为: 30

        39.Python中的for-in循环结构

for a in 'hello':
    print(a)
# 循环体中没有变量时,可用_代替自定义变量
for _ in range(3):
    print('hello')
# 计算0-10中所有偶数的和
sum = 0
for i in range(11):
    if i%2 ==0:
        sum = sum+i
    i += 1
print('0-10所有偶数的和为:', sum)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

h
e
l
l
o
hello
hello
hello
0-10所有偶数的和为: 30

        40.break流程控制语句

# 模拟ATM取钱输入密码,输入正确直接退出循环,错误不能超过3次
for i in range(3):
    password = input('请输入密码:')
    if password == '666666':
        print('密码正确。')
        break
    else:
        print('密码错误。')

times = 0
while times < 3:
    password = input('请输入密码:')
    if password == '666666':
        print('密码正确。')
        break
    else:
        print('密码错误。')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入密码:123456
密码错误。
请输入密码:333333
密码错误。
请输入密码:111
密码错误。
请输入密码:666666
密码正确。

        41.coutinue流程控制语句

# 输出1-20中5的倍数
for i in range(1,21):
    if i%5 != 0:    
        continue
    print(i)
'''相当于
for i in range(1,21):
    if i%5 == 0:    
        print(i)
'''

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

5
10
15
20

        42.else的使用

# 模拟ATM机取款输入密码,错误次数不能超过3次
for i in range(3):
    pwd = input('请输入密码:')
    if pwd == '666666':
        print('密码正确。')
        break
    else:
        print('密码错误。')
else:
    print('错误次数达到上限。')

ii = 0
while ii < 3:
    pwd = input('请输入密码:')
    if pwd == '666666':
        print('密码正确。')
        break
    else:
        print('密码错误。')
        ii += 1
else:
    print('错误次数达到上限。')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入密码:123
密码错误。
请输入密码:222
密码错误。
请输入密码:333
密码错误。
错误次数达到上限。
请输入密码:666666
密码正确。

        43.嵌套循环的使用

# 打印一个3行4列的星号矩阵
for i in range(3):
    for j in range(4):
        print('*', end='\t')
    print()

# 打印99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='   ')
    print()

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

*	*	*	*	
*	*	*	*	
*	*	*	*	
1 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81	

        44.二重循环的break和continue使用

for i in range(5):
    for j in range(1,11):
        if j%2 ==0:
            continue
        print(j,end='\t')
    print()

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	

        七.循环练习

        1.输入一个数,求这个数的阶乘:

# 1.输入一个数,求这个数的阶乘:
s = 1
n = int(input('请输入一个整数:'))
for i in range(1,n+1):
    s = s*i
print(n,'的阶乘为:',s)

s = 1
n = int(input('请输入一个整数:'))
i = 1
while i <= n:
    s = s*i
    i += 1
print(n,'的阶乘为:',s)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个整数:7
7 的阶乘为: 5040
请输入一个整数:7
7 的阶乘为: 5040

        2.折纸上月球:地球和月球最短距离为363300公里,一张A4纸0.088mm,问需要折多少下才能到达月球?

'''
2.折纸上月球:地球和月球最短距离为363300公里,一张A4纸0.088mm,问需要折多少下才能到达月球?
'''
s = 0.088
n = 0
while 1:
    if s >= 363300*1000*1000:
        break
    s *= 2
    n += 1
print('需要折',n,'次')

from itertools import repeat
s = 0.088
n = 0
for _ in repeat(None):
    if s >= 363300*1000*1000:
        break
    s = s*2
    n = n+1
print('需要折',n,'次')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

需要折 42 次
需要折 42 次

        3.求和 求s= a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如: 2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )
 

       输入:一行,包括两个整数,第1个为a,第2个为n(1 ≤ a ≤ 9,1 ≤ n ≤ 9),以英文逗号分隔。
       输出:一行,s的值。
        1.eval函数的语法及用法
        (1)语法:eval(expression)
        (2)作用:接收运行一个字符串表达式,返回表达式的结果值。
        2.实例
        (1)简单的计算用法
        (2)与其它函数结合使用,比如结合input函数使用
        (3)与while语句、input函数结合使用。
        (4)与input函数以及if条件语句、while语句一起结合使用。

'''
3.求和 求s= a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如: 2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )
输入:一行,包括两个整数,第1个为a,第2个为n(1 ≤ a ≤ 9,1 ≤ n ≤ 9),以英文逗号分隔。
输出:一行,s的值。
'''
a,n = eval(input('请依次输入两个1-9的整数,用逗号分隔:'))
sum = a
s = 0
total = 0
for i in range(n):
    sum = s*10+a
    s = sum
    total += sum
print('结果为:',total)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请依次输入两个1-9的整数,用逗号分隔:5,9
结果为: 617283945

        4.  如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。那么球在第10次落地时,共经过多少米呢? 第10次反弹多高?

输入:输入一个整数h,单位是米,表示球的初始高度。
输出:输出包含两行:
第1行:到球第10次落地时,一共经过的距离。
第2行:第10次弹跳的高度。 

'''
4.如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。那么球在第10次落地时,共经过多少米呢? 第10次反弹多高?
输入:输入一个整数h,单位是米,表示球的初始高度。
输出:输出包含两行:
第1行:到球第10次落地时,一共经过的距离。
第2行:第10次弹跳的高度。
'''
s = 0
h = float(input('请输入篮球的初始高度(单位:米):'))
for i in range(10):
    s += h
    h /= 2
print('第10次落地时,共经过',s,'米')
print('第10次弹跳高度为:',h,'米')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入篮球的初始高度(单位:米):9.3
第10次落地时,共经过 18.581835937500003 米
第10次弹跳高度为: 0.00908203125 米

        5.我国现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?

'''
5.我国现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?
'''
s = 13
n = 0
from itertools import repeat
for _ in repeat(None):
    if s >= 26:
        break
    s = s*(1+0.008)
    n += 1
print(n,'年后人口达到26亿。')

s = 13
n = 0
while 1:
    if s >= 26:
        break
    s = s*(1+0.008)
    n += 1
print(n,'年后人口达到26亿。')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

87 年后人口达到26亿。
87 年后人口达到26亿。

        6.打印99乘法表

# 6.打印99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f'{i}*{j}={i*j}',end=' ')
    print()
print('-'*70)
'''使用列表推导式'''
print('\n'.join([' '.join([f'{i}*{j}={i*j}' for j in range(1,i+1)]) for i in range(1,10)]))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

运行结果:

1*1=1 
2*1=2 2*2=4 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 4*3=12 4*4=16 
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 
----------------------------------------------------------------------
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

        7.求1!+2!+3!+4!+5!的和 

'''
7.求1!+2!+3!+4!+5!的和
'''
sum = 0
n = 1
for i in range(1,6):
    sum = sum+n*i
    n *= i
print('5个数的阶乘之和为:',sum)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

5个数的阶乘之和为: 153

        8、星号三角形:输入一个奇数N,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。

'''
8、星号三角形:输入一个奇数N,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,
最后一行共N的星号。
'''
N = int(input('请输入一个奇数:'))
for i in range(N-N//2+1):
    for j in range(1,N-i):
        print(end='  ')
    for k in range(N-i,N+i-1):
        print('*',end=' ')
    print('')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个奇数:9
                
              * 
            * * * 
          * * * * * 
        * * * * * * * 
      * * * * * * * * * 

        9.求1~100之间能被7整除,但不能同时被5整除的所有整数 。

'''
9.求1~100之间能被7整除,但不能同时被5整除的所有整数 。
'''
for i in range(1,101):
    if i%7 == 0 and i%5 != 0:
        print(i,end='\t')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

7	14	21	28	42	49	56	63	77	84	91	98	

        10.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153=1+125+27。

'''
10.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153=1+125+27。
'''
for i in range(100,1000):
    ge = i%10
    shi = i//10%10
    bai = i//100
    if ge**3+shi**3+bai**3 == i:
         print(i,end='\t')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

153	370	371	407

        11.求平均分

'''求平均分'''
score = [66,92,89,78,95,83]
s = 0
for i in score:
    s += i
print('平均分为:',int(s/len(score)))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

平均分为: 83

        12.百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。 

'''
12.百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
'''
# 三种鸡的价格
for i in range(34):
    for j in range(51):
        for k in range(101):
            if i + j + k == 100 and i*3+j*2+k*0.5 == 100:
                 print('购鸡方案:',k,'只小鸡,',j,'\t只公鸡,',i,'\t只母鸡。')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

购鸡方案: 68 只小鸡, 30 	只公鸡, 2 	只母鸡。
购鸡方案: 70 只小鸡, 25 	只公鸡, 5 	只母鸡。
购鸡方案: 72 只小鸡, 20 	只公鸡, 8 	只母鸡。
购鸡方案: 74 只小鸡, 15 	只公鸡, 11 	只母鸡。
购鸡方案: 76 只小鸡, 10 	只公鸡, 14 	只母鸡。
购鸡方案: 78 只小鸡, 5 	只公鸡, 17 	只母鸡。
购鸡方案: 80 只小鸡, 0 	只公鸡, 20 	只母鸡。

        13.输出100以内的所有素数

'''
13.输出100以内的所有素数
'''
for i in range(2,101):
    for j in range(2,i//2+1):
        if i%j == 0:
            break
    else:
        print(i,end=' ')

print()
for n in range(100,1,-1):
    for i in range(2,n//2+1):
        if n%i == 0:
            break
    else:
        print(n,end=' ')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 
97 89 83 79 73 71 67 61 59 53 47 43 41 37 31 29 23 19 17 13 11 7 5 3 2 

        14.输入一个数,判断是否为素数

'''
14.输入一个数,判断是否为素数
'''
n = int(input('请输入一个整数:'))
for i in range(2,n//2+1):
    if n%i == 0:
        print(n,'不是素数')
        break
else:
    print(n,'是素数')
print('-'*30)

n = int(input('请输入一个整数:'))
i = 2
while i <= n/2:
     if n%i == 0:
         print(n,'不是素数')
         break
     else:
         i += 1
else:
    print(n,'是素数')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入一个整数:13
13 是素数
------------------------------
请输入一个整数:11
11 是素数

        15.给用户9次机会,猜1-10个数字随机猜数字,如果随机的数字和用户的数字一致则表示正确,如果不一致则表示错误. 

import random
temp = random.randint(0,11)
for i in range(1,10):
    num = int(input('请输入你猜的数:'))
    if num == temp:
        print('恭喜你,猜对了!')
        break
    else:
        print('猜错了,请再次尝试:')
else:
    print('很遗憾,你没猜对,次数已用完。')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入你猜的数:1
猜错了,请再次尝试:
请输入你猜的数:2
猜错了,请再次尝试:
请输入你猜的数:3
猜错了,请再次尝试:
请输入你猜的数:4
猜错了,请再次尝试:
请输入你猜的数:5
恭喜你,猜对了!

        16.要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合规则,打印出不符合的原因,并提示从新输入~

要求:1、用户名长度6-20,用户名必须以字母开头

           2、密码长度至少6位,不能为纯数字,不能有空格

username = input('请输入你的用户名:')
while 1:
    if 6 <= len(username) <= 20:
        if username[0].isalpha():
            password = input('请输入你的密码:')
            if len(password) >= 6:
                if password.isdigit() == False:
                    if ' ' not in password:
                        print('登录成功!')
                        break
                    else:
                        print('格式错误!密码不能包含空格,请重新输入:')
                else:
                     print('格式错误!密码不能为纯数字,请重新输入:')
        else:
            username = input('格式错误!用户名必须以字母开头,请重新输入:')
    else:
        username = input('格式错误!用户名长度为6-20位,请重新输入:')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

请输入你的用户名:5asder
格式错误!用户名必须以字母开头,请重新输入:asdqw
格式错误!用户名长度为6-20位,请重新输入:cy2lyf
请输入你的密码:555666
格式错误!密码不能为纯数字,请重新输入:
请输入你的密码:55 sd66
格式错误!密码不能包含空格,请重新输入:
请输入你的密码:55as66

八.Python的列表操作 

        45.列表的概念理解

        变量可以存储一个元素,而列表是一个大“容器”,可以存储N多个元素,程序可以方便地对这些数据进行整体操作,列表相当于其它语言中的数组。

        46.列表的创建

1.列表需要使用中括号[],元素之间使用英文的逗号进行分隔

2.调用内置函数list()

x = ['abc','ccc',25]
y = list(['abc','ccc',25])

        47.列表的特点

1.列表元素按顺序有序排列

2.索引映射唯一一个数据

3.列表可以存储重复数据

4.任意数据类型混合

3.根据需要动态分配和回收内存

x = ['hello','小明',355,True]
print(x)
print(x[2],x[-2],x[3],x[-3])    '''索引从左往右是0开始,从右往左是-1开始'''

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

['hello', '小明', 355, True]
355 355 True 小明

        48.列表获取指定元素的索引

x = ['abc','hello',123,False,'hello']
'''查找列表中元素的索引'''
print(x.index('abc'))
print('-'*30)
'''print(x.index('333'))    查找的元素列表中没有会报错'''
print(x.index('hello',2,5))
'''list.index('xxx',m,n)表示查找列表list中'xxx'元素,索引范围为m开始,n结尾(不包含n)'''

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

0
------------------------------
4

        49.获取列表中单个元素

x = ['abc','hello',123,False,'hello']
'''0开始'''
print(x[3])
print('-'*30)
'''-1开始'''
print(x[-2])
print(x[-5])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

False
------------------------------
False
abc

        50.获取列表中多个元素

语法格式:列表名[start:stop:step]

lst = [10,20,30,40,50,60,70,80,90]
print('-----------原列表-------------')
print(lst)
print('-----从1开始,4结尾,步长为2------')
lst2 = lst[1:5:2]
print(lst2)
print('----------步长默认为1----------')
print(lst[1:5:])
print('--end位置不写,默认到列表最后1个元素--')
print(lst[1::2])
print('-start不写,当步长为正数,默认从0开始正序-')
print(lst[:5:1])
print('-start不写,当步长为负数数,默认从最后个元素开始倒序-')
print(lst[:2:-2])

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

-----------原列表-------------
[10, 20, 30, 40, 50, 60, 70, 80, 90]
-----从1开始,4结尾,步长为2------
[20, 40]
----------步长默认为1----------
[20, 30, 40, 50]
--end位置不写,默认到列表最后1个元素--
[20, 40, 60, 80]
-start不写,当步长为正数,默认从0开始正序-
[10, 20, 30, 40, 50]
-start不写,当步长为负数,默认从最后个元素开始倒序-
[90, 70, 50]

        51.列表元素的查询操作

lst = [10,20,30,40,'hello']
print(10 in lst)
print(50 in lst)
print(50 not in lst)
for str in lst:
    print(str,end='\t')

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

True
False
True
10	20	30	40	hello	

        52.添加列表元素

append:        在列表的末尾添加一个元素或子列表

extend:        在列表的末尾至少添加一个元素(若添加子列表,会变为新增元素)

insert:        在列表的任意位置添加一个元素或子列表

切片:        在列表的任意位置添加至少一个元素

lst = [10,20,30]
'''在列表末尾添加元素'''
lst.append(50)
print(lst)
'''在列表末尾添加子列表'''
lst2 = ['hello','word']
lst.append(lst2)
print(lst)
'''将子列表作为元素添加到列表末尾'''
lst.extend(lst2)
print(lst)
'''在列表任意位置添加元素'''
lst.insert(2,90)
print(lst)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

[10, 20, 30, 50]
[10, 20, 30, 50, ['hello', 'word']]
[10, 20, 30, 50, ['hello', 'word'], 'hello', 'word']
[10, 20, 90, 30, 50, ['hello', 'word'], 'hello', 'word']

        53.列表元素的删除操作

lst = [10,20,30,40,30,60]
'''删除列表中某个元素(从左到右第1次出现的那个)'''
lst.remove(30)
print(lst)
'''删除索引位置的第一个元素,不填索引默认删除末尾元素'''
lst.pop(1)
print(lst)
'''切片删除'''
lst[1:3] = []
print(lst)
'''删除指定索引的元素'''
del lst[1]
print(lst)
'''清空列表中所有元素'''
lst.clear()
print(lst)
'''删除列表对象'''
del lst
# print(lst)    会报错,因为lst对象已不存在

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

运行结果:

[10, 20, 40, 30, 60]
[10, 40, 30, 60]
[10, 60]
[10]
[]

        54.列表元素的排序操作

常用的两种方法:

        1.调用sort():列表中所有元素按从小到大顺序排列,可以指定reverse=True,进行降序排列

        2.调用内置函数sorted():创建新列表,默认升序排列,可以指定reverse=True,进行降序排列

lst = [10,80,30,60,70,50]
print('-------原列表-------','\n',lst,id(lst))
'''对原列表进行排序'''
lst.sort()
print('-------升序排列-------','\n',lst,id(lst))
lst.sort(reverse=True)
print('-------降序排列-------','\n',lst)
lst.reverse()
print('-------反转列表--------','\n',lst)
'''创建新列表,默认升序'''
new_lst = sorted(lst)
print('-------新列表-------','\n',new_lst,id(new_lst))
'''对新列表降序排列'''
new_lst = sorted(lst,reverse=True)
print('-------新列表降序-------','\n',new_lst,id(new_lst))

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

-------原列表------- 
 [10, 80, 30, 60, 70, 50] 2186902153536
-------升序排列------- 
 [10, 30, 50, 60, 70, 80] 2186902153536
-------降序排列------- 
 [80, 70, 60, 50, 30, 10]
-------反转列表-------- 
 [10, 30, 50, 60, 70, 80]
-------新列表------- 
 [10, 30, 50, 60, 70, 80] 2186905218304
-------新列表降序------- 
 [80, 70, 60, 50, 30, 10] 2186902872000

本文标签: 学习笔记基础Python