Python笔记6

逢七过七游戏

设计过7游戏程序,即在1-99之间的数字中,如果数字包含7或者是7的倍数,则输出“过”,否则输出具体的数字。
# 方法一
i=1
while i<99:
    if i%7==0 or str(i).find('7')!= -1:
        print('过')
    else:
        print(i)
    i+=1
    
# 方法二       
for i in range(1,100):
    if i % 7 == 0 or str(i).find('7') != -1:
        print('过')
    else:
        print(i)

# 方法三
for i in range(1,100):
    if i %7 ==0 or '7' in str(i):
        print('过')
    else:
        print(i)

随机抽签

使用input输入5个学生的名字存入列表,随机获取一个学生的名字打印
import random
# 定义列表存储所有学生姓名
list = []
# 循环
for i in range(5):
    name = input('请输入姓名:')
    # 输入名字存入列表
    list.append(name)
# 随机数产生列表的下标
num = random.randint(0,4)
# 答应抽到的学生
print(list[num])

列表修改操作

  • 定义
变量 = [数据, 数据,...]
  • 添加
列表.append(数据)
  • 查询
列表.index(数据)  # 如果数据不存在,会报错
列表.count(数据)
  • 修改
修改指定下标位置的数据:列表[下标] = 数据
注意:字符串中字符不能使用下标修改
  • 代码案例
# 定义列表
list = [1,3,5,7]

# 将下标为1的数据修改为22
list[1] = 22
print(list) # [1, 22, 5, 7]

# 修改最后一个位置的数据为“hello“
list[-1] = 'hello'
print(list) #[1, 22, 5, 'hello']

# 如果指定下标不存在,会报错
list[10] = 10 # 会报错
  • 删除

    • 根据下标删除
      列表.pop(下标) # 删除指定下标位置对应的数据
      1、下标不写,默认删除最后一个数据(常用)
      2、书写存在的下标,删除对应下标位置的数据
      返回:返回删除的数据
    • 根据数据值删除
      列表.remove(数据值) # 根据数据值删除
      返回:None
      注意:如果删除的数据不存在,会报错
    • 清空数据(一般不用)
      列表.clear()
    • 代码案例
    my_list = [1,3,5,7,9,2,4,6,8,0]
    
    # 删除最后一个数据
    num= my_list.pop()
    print('删除的数据为:',num) # 删除的数据为: 0
    print(my_list) # [1, 3, 5, 7, 9, 2, 4, 6, 8]
    
    # 删除下标为1的数据
    num1 = my_list.pop(1)
    print('删除的数据为:',num1) # 删除的数据为: 3
    print(my_list) # [1, 5, 7, 9, 2, 4, 6, 8]
    
    # 删除数据为7的数据
    my_list.remove(7) # 如果列表中有多个7,只能删除第一个,如果数据不存在,会报错
    print(my_list) # [1, 5, 9, 2, 4, 6, 8]
    
    # 清空
    my_list.clear()
    print(my_list) # []
    
  • 翻转(倒置)
    字符串中的反转倒置:字符串[::-1]
    列表中的翻转倒置:
    1、列表:[::-1] #使用切片的方法,会得到一个新的列表,原列表不会发生改变
    2、列表.reverse() # 直接修改原列表,返回None

    my_list = [1,3,5,7,9,2,4,6,8,0]
    
    # 使用切片的方法反转,得到一个新列表
    list1 = my_list[::-1]
    print('my_list:',my_list) # my_list: [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
    print('list1:',list1) # list1: [0, 8, 6, 4, 2, 9, 7, 5, 3, 1]
    
    # 使用reverse方法,直接修改原列表
    my_list.reverse()
    print(my_list) # [0, 8, 6, 4, 2, 9, 7, 5, 3, 1]
    
  • 复制
    使用场景:有一个列表,需要修改操作列表中的数据,修改之后,需要和原数据进行对比,即原数据不能改。
    1、使用切片
    变量 = 列表[:]
    2、使用copy方法
    变量 = 列表.copy()

    my_list = [1,3,5,7,9,2,4,6,8,0]
    
    # 使用切片的方法反转,得到一个新列表
    list1 = my_list[::-1]
    print('my_list:',my_list) # my_list: [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]
    print('list1:',list1) # list1: [0, 8, 6, 4, 2, 9, 7, 5, 3, 1]
    
    # 使用reverse方法,直接修改原列表
    my_list.reverse()
    print(my_list) # [0, 8, 6, 4, 2, 9, 7, 5, 3, 1]
    
    my_list1 = [1, 2, 3]
    my_list2 = my_list1[:]
    print('my_list1:',my_list1) # my_list1: [1, 2, 3]
    print('my_list2:',my_list2) # my_list2: [1, 2, 3]
    
    my_list2[1] = 22
    print('my_list1:',my_list1) # my_list1: [1, 2, 3]
    print('my_list2:',my_list2) # my_list2: [1, 22, 3]
    print('-' * 30)
    
    my_list3 = my_list1.copy()
    print('my_list1:',my_list1) # my_list1: [1, 2, 3]
    print('my_list3:',my_list3) # my_list3: [1, 2, 3]
    my_list3[2] = 33
    print('my_list1:',my_list1) # my_list1: [1, 2, 3]
    print('my_list3:',my_list3) # my_list3: [1, 2, 33]
    print('-' * 30)
    
    my_list4 = my_list1  # 这是同一个列表,多了一个名字  引用
    print('my_list1:',my_list1) # my_list1: [1, 2, 3]
    print('my_list4:',my_list4) # my_list4: [1, 2, 3]
    my_list4[0] = 11
    print('my_list1:',my_list1) # my_list4: [11, 2, 3]
    print('my_list4:',my_list4) # my_list4: [11, 2, 3]
    
  • 排序
    一般对数字进行排序
    列表.sort() # 按照升序排序,从大到小
    列表.sort(reverse = True) #降序排序从大到小

    # 升序排序
    my_list.sort()
    print(my_list) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    # 降序排序
    my_list.sort(reverse= True)
    print(my_list) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    
  • 嵌套
    在列表中的内容还是列表
    使用下标来确定获取的是什么类型的的数据,然后确定可以继续进行什么操作

    person_info = [["张三","18","功能测试"],["李四","20","自动化测试"]]
    print(len(person_info)) # 2
    print(person_info[0]) # ['张三', '18', '功能测试']
    
    print(person_info[0][0]) # 张三
    print(person_info[0][0][0]) # 张
    
    # 将18改成19
    person_info[0][1] = '19'
    print(person_info) # [['张三', '19', '功能测试'], ['李四', '20', '自动化测试']]
    
    # 给“李四” 所在的列表添加一个性别信息
    person_info[1].append('男')
    print(person_info) # [['张三', '19', '功能测试'], ['李四', '20', '自动化测试', '男']]
    
    # 将张三的年龄信息删除
    person_info[0].pop(1) # 或者 person_info[0].remove('19')
    print(person_info) # [['张三', '功能测试'], ['李四', '20', '自动化测试', '男']]
    

元组

元组:tuple,元组的特点和列表非常相似
1、元组中可以存放任意类型的数据
2、元组中可以存放任意多个数据
区别
1、元组中的数据内容不能改变,列表中的可以改变
2、元组使用 (),列表使用 [ ]
应用:在函数的传参或者返回值中使用,保证数据不会被修改

  • 定义
    1、使用类实例化的方式
    2、直接使用 ()方式
    # 1、类实例化的方式
    # 定义空元组(不会使用的)
    my_tuple1 = tuple()
    print(type(my_tuple1),my_tuple1) # <class 'tuple'> ()
    # 类型转换
    # 可以将列表转换为元组,只需要将[],变为(),同时可以将元组转换列表,将()变为[]
    my_tuple2 = tuple([1,2,3])
    print(my_tuple2) # (1, 2, 3)
    # 转换字符串,和列表中的一样,只是将列表的[]变为()
    my_tuple3 = tuple('hello')
    print(my_tuple3) # ('h', 'e', 'l', 'l', 'o')
    
    # 2、直接使用()定义
    my_tuple4 = (1,"小王",3.14,False)
    print(my_tuple4) # (1, '小王', 3.14, False)
    
    # 3、特殊点:定义只有一个数据的元组时,数据后边必须有一个逗号
    my_tuple5 = (1,) # 书写成 my_tuple5 = (1)不是元组,需要加上逗号才为元组
    print(my_tuple5) # (1,)
    my_tuple6 =(1) 
    print(my_tuple6) # 1
    
  • 常用方法
    由于元组中的数据不能修改,所以只有查看的方法
    1、在元组中也可以使用下标和切片来获取数据
    2、在元组中,存在index方法,查找下标,如果不存在,会报错
    3、在元组中,存在count方法,统计数据出现的次数
    4、在元组中可以使用 in 操作,判断数据是否存在
    5、len()统计个数
    以上方法的使用,与列表中是一样的
    print(my_tuple4[1]) # 小王
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值