python基础班第六课

continue break(上节课内容)

在这里插入图片描述

#continue
# 当执行到continue,循环跳过当次循环,直接进行下一次的循环
# i =0
# while i<5:
#     if i ==3:
#         continue
#     print(i)
#     i +=1
# else:
#     print('结束')
# 会一直进行33333333333一直进行下去
# continue只会跳过这次的循环但是还是会进行别的循环

在这里插入图片描述

i =0
while i<5:
    i +=1
    if i ==3:
        continue
    print(i)
else:
    print('结束')

在这里插入图片描述

# break会直接结束循环 终止循环
i =0
while i<5:
    if i ==3:
        break
    print(i)
    i +=1
else:
    print('结束')

在这里插入图片描述

for循环 range函数(上节课内容)

在这里插入图片描述
在这里插入图片描述

#for循环 循环次数取决于列表的长度,如果你在循环过程中对列表长度修改,那么你的循环次数就不再取决于列表的长度
# range()函数
# 语法 range(开始位置,结束位置, 步长)开始位置可以省略,省略即开始的数为0,步长省略即为1
# 左闭右开区间
range(9)#相当于range(0,9,1)
print(list(range(9)))#不可以直接print(range(9)))
print(range(9))
# 相当于这个
for i in range(9):
    print(i)

在这里插入图片描述

序列

列表

切片

通用操作

修改列表

列表中的修改方法

1.1 序列

在这里插入图片描述

# 序列 可变 列表list 不可变 字符串str 元组tuple
a ='abcdefg'
print(a[0])

输出结果:(从0开始–指第一个字母)
在这里插入图片描述

# 列表list 运用广泛 用的好多!!注意!!
# 可以存储,添加,删除,修改
# 列表用中括号表示[]
list1 =[1,'python',True,None]
print(list1,type(list1))

在这里插入图片描述

1.2 列表

在这里插入图片描述

# 创建空列表
list1 =[]
print(list1)

在这里插入图片描述

# 列表list 运用广泛 用的好多!!注意!!
# 可以存储,添加,删除,修改
# 列表用中括号表示[]
list1 =[1,'python',True,None]
print(list1,type(list1))
# 增删改查
# 存 列表就是用来存储对象的对象
# 取数据 通过索引取数据
print(list1[1])
print(list1[-1])#从左到右:0,从右到左:-1
print(len(list1))

在这里插入图片描述

1.3 切片

在这里插入图片描述
str[起始:结束:步长]
+1为从左到右,0开始。
-1为从右到左,-1开始。``
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 切片
# 语法:str[]   
# list[起始索引:结束索引:步长]
list1 =['孙悟空','猪八戒','白龙马','白骨精','蜘蛛精']
print(list1[2:4])
print(list1[-2:-4:-1])

在这里插入图片描述

1.4 通用操作

在这里插入图片描述

# 通用操作 + *  *实质上也是加(同一种的时候)
a =[1,2,3]+[4,5,6]
print(a)
b =[1,2,3]*2
print(b)

a ='abcd'
print('a'in a)
b =[1,2,3]
print(1 in b)#in 是不是在里面,not in 是不是不在里面返回的是一个布尔值
print(b.index(3))#查找的是list的位置
# print(b.find(1))#列表没有find()的操作
print(b.count(1))#查找的是()的数量

在这里插入图片描述

在这里插入图片描述

1.5 修改列表

在这里插入图片描述

#修改 list[-1]可以添加
list1 =['孙悟空','猪八戒','白龙马','白骨精','蜘蛛精']
list1[-1]='女儿国国王'
print(list1)
#删除 关键字 del
del list1[-1]
print(list1)
# 用切片的方式进行修改 就是令切片的结果等于一个[]空字符串
# list1[1:3] =''
print(list1.index('白骨精'))#查找白骨精的位置 为3
list1[3]='牛魔王'#用牛魔王代替白骨精
print(list1)
list1[1:2]='234'
#字符串也是序列 所以可以直接用来替换
# 用切片的方式替换列表内容的时候,这个你需要替换的数据也要是序列 字符串也是序列
print(list1)
[0:0]会在最开始的时候添加
list1[0:0] ='唐僧'
print(list1)
list1[0:0] =['唐僧']
print(list1)
#设置了步长的时候替换多少个就要补多少个
print(list1[::2])

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6 列表中修改方法

在这里插入图片描述

# 方法 方法是和面向对象相关的。 使用方法:对象.方法名('参数')
# 添加方法
# list.append() 在列表中最后的位置插入一个元素
list1 =['孙悟空','猪八戒','白龙马','白骨精','蜘蛛精']
list1.append('女儿国国王')
print(list1)
# 方法二:
# list.insert() 向列表中制定位置插入一个元素,第一个参数是要插入的位置,第二个是插入的内容
list1.insert(4,'唐僧')#在4的位置插入唐僧
print(list1)
# 方法三:
# list.extend() 使用新的序列来扩展当前的序列 在后面添加
list1.extend(['唐僧','沙悟净'])
print(list1)

在这里插入图片描述

# 删除方法
# list.pop() 根据索引删除并返回元素,如果不传递索引默认删除最后一个
a =list1.pop()
print(a)
print(list1)

删除的是默认的最后一个——‘沙悟净’ 留下前面的。
在这里插入图片描述

# list.remove() 删除指定的元素 (只删除一个)
list1.remove('女儿国国王')
print(list1)

在这里插入图片描述

# 反转列表
# reverse()
list1.reverse()
print(list1)

在这里插入图片描述

# # sort排序
# sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
list1.sort()
print(list1)

在这里插入图片描述

# # list.sort() 默认是正序排序,他有一个参数
# reverse reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
list3 =[1,2,3,4,5]
list3.sort(reverse=False)#reverse=False 是升序
print(list3)
list3.sort(reverse=True)#reverse=True 是降序
print(list3)

在这里插入图片描述

上次的作业

# 上次的作业
# 水仙花 循环100-1000的所有数 把数从 个位 十位 百位拆分 三次幂相加等于本身
i =100
while i <1000:
    a = i//100#整数
    b = (i-a*100)//10
    c = i % 10
    if a**3 + b**3+ c**3 == i:
        print(i)
    i +=1
    
num =int(input('shuru:'))
i =2
while i <num:#i到num的所有数
    if num %i ==0:#除了1和本身看看有没有可以整除的数,有的话直接说不是质数,输出
        print('no')
        break
    i +=1
else:
    print('yes')
    缩进tab,返回tab+shift
    
import random
player =int(input('输入:'))
com =random.randint(0,2)
if (player ==0 and com ==1) or (player ==1 and com ==2) or (player ==2 and com ==0):
  print('玩家赢')
elif player ==com:
  print('平局')
else:
  print('电脑')

作业

1.1现在有 a = [1,2,3,4,5,6] 不通过函数的形式实现列表的反转([6,5,4,3,2,1]) 并写出推导过程

# 作业1
# 方法一 变量.reverse()
a =[1,2,3,4,5,6]
a.reverse()
print(a)
# 方法二 切片倒序
a =[1,2,3,4,5,6]
print(a[::-1])
# 方法三 切片
a =[1,2,3,4,5,6]
a[-1:-6:-1] ='12345'
a[0] ='6'
print(a)
# 方法四 添加 删除
a =[1,2,3,4,5,6]
a.append('6,5,4,3,2,1')
del a[0:6]
print(a)
# 方法五 插入 删除
a =[1,2,3,4,5,6]
a.insert(5,'6,5,4,3,2,1')
del a[0:5]
del a[-1:-2:-1]
print(a)
# 方法六 扩展 删除
a =[1,2,3,4,5,6]
a.extend([6,5,4,3,2,1])
a.remove(1)
a.remove(2)
a.remove(3)
a.remove(4)
a.remove(5)
a.remove(6)
print(a)

在这里插入图片描述

1.2 给用户9次机会 猜1 - 10 个数字随机来猜数字。如果随机的数字和用户输入的数字一致则表示正确,如果不一致则表示错误。最终结果要求用户怎么也猜不对

i =1
b =[1,2,3,4,5,6,7,8,9,10]
while i <10:
    a =int(input('请输入数字:'))
    print('你输入的与随机数不一致')
    b.remove(a)
    i +=1
print('电脑随机数为',b)

在这里插入图片描述

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

# 作业三
lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
a =lst1 +lst2
print(a)
lst3 =[i for i in lst1 if i in lst2]
print('重复的值为:',lst3)

在这里插入图片描述

# 方法二
lst1 = [11, 22, 33]
lst2 = [22, 33, 44]
b =[]
a =lst1 +lst2
print(a)
for i in a:
    if i in lst1 and i in lst2:
        if i not in b:#查看是否与b列表中的数重合,如果没有重合(not in)就增加,如果重合了就continue(跳过)
           b.append(i)
        else:
            continue
print(b)

在这里插入图片描述

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

# 作业4现在有8位老师,3个办公室,要求将8位老师随机的分配到三个办公室中

teachers =['a','b','c','d','e','f','g','h']
import random
bangongshi =[[],[],[]]
for a in teachers:
    bangongshi[random.randint(0, 2)].append(a)#random(0,2)是三个办公室的意思:办公室0,办公室1,办公室2
print(bangongshi)

在这里插入图片描述
老师最后一题保证每个教室不为0不会写ququququq

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页