当前位置: 代码迷 >> 综合 >> 列表————list
  详细解决方案

列表————list

热度:0   发布时间:2024-01-24 12:17:35.0
  1. 列表操作
    # list:
    # 先进先出
    # 支持下标,可使用切片[:][::]
    # 列表元素循环遍历,in,not in
    # 可嵌套,多层嵌套仍可使用下标访问数据list[x][y][z]
    # list1 = [10, 50, 40, 60, 100]
    # print(60 in list1)'''
    增:
    list1.append(x) 在末尾添加元素,x内容
    list1.insert(n, m) 在指定位置插入元素,n位置,m内容
    list1.extend(list2) 合并两个列表,合并到list1
    删:
    del list1[x]:根据下标x进行删除
    list1.pop(x):删除最后一个元素,x制定下标位置删除,默认删除最后一个
    list1.remove(x):根据元素的值进行删除,删除x;若x不存在则报错
    list1.clear():清空
    改:
    list1[x] = n:内容n替换x位置的元素
    查:
    in(存在),如果存在那么结果为true,否则为false
    not in(不存在),如果不存在那么结果为true,否则false
    index用来查找元素所在的位置,如果未找到则会报错;
    count用来计算某个元素出现的次数。
    它们的使用和字符串里的使用效果一致。排序:list1.sort(reverse=True),默认升序,reverse=True控制降序
    len(list),max(list),min(list),sorted(list)
    '''
    import random#
    list1 = []
    # list1.copy()
    # for i in range(5):
    #     list1.append(random.randint(1, 20))
    # print(list1)
    # x = int(input('输入一个数字:'))
    # print([i for i in list1 if i != x])# for i in range(4):
    #     num = eval(input('输入购物金额:'))
    #     list1.append(num - (num // 200) * 30 if num >= 200 else num)
    # print(list1)# 随机产生5个1-50之间的随机数,排序, 键盘输入一个1-50之间的数字:
    # [5,9,1,0,4]  ---> [0,1,4,5,9] ----> 6  ----> [0,1,4,5,6,9]
    # for i in range(5):
    #     list1.append(random.randint(1, 50))
    # list1.append(int(input('输入一个数字:')))
    # list1.sort()
    # print(list1)# # 嵌套
    # list1 = [[1, 2, 3], [2, 3, 4, 5], [1, 5, 8, 9], [2, 5, 0], [1, 5]]
    # summ = 0
    # for i in list1:
    #     summ += sum(i)
    # print(summ)

     

  2. 练习
    print('-----人力管理系统-----')
    db = []
    while True:x = input('请选择功能:添加(1),删除(2),修改(3),查询(4),退出(5)--:')if x == '1':list1 = []print('请输入需要添加的员工信息')list1.append(input('工号:'))list1.append(input('姓名:'))list1.append(int(input('年龄:')))list1.append(input('性别:'))db.append(list1)db.sort()print('现有员工信息:', db)elif x == '2':n = input('请输入需要删除的员工信息:工号或者姓名--:')for i in db:if n == i[0] or n == i[1]:db.remove(i)print('现有员工信息:', db)elif x == '3':n = input('请输入需要修改的员工信息:工号或者姓名--:')for i in db:if n == i[0] or n == i[1]:print('员工现有信息:', i)db.remove(i)list1 = []print('请输入新的员工信息')list1.append(input('工号:'))list1.append(input('姓名:'))list1.append(int(input('年龄:')))list1.append(input('性别:'))db.append(list1)db.sort()print('现有员工信息:', db)elif x == '4':n = input('请输入需要查询的员工信息:工号或者姓名--:')for i in db:if n == i[0] or n == i[1]:print('员工现有信息:', i)elif x == '5':breakelse:print('输入错误,重新输入')
    '''ICBC  工商银行
    database=[]办卡  --->  ['zhangsan','id','卡号','password' ,1000]  一个人的信息cno='62'for i in range(5):ran =random.randint(0,9)cno+=str(ran)   '1'+str(5) ===> '6215689'pserson = ['zhangsan','13743749304809','6215689','123456' ,0]database.append(person)print('你的卡号是:%s' %cno)存钱: 输入卡号  密码 输入存款金额取钱: 卡号  密码  取款金额查询账户:卡号  密码显示金额退出:'''
    import randomdb = []
    print('----ICBC  工商银行----')
    while True:x = int(input('选择功能:办卡(1),存钱(2),取钱(3),退出(4):'))if x == 1:list1 = []kh = '62'for i in range(5):kh += str(random.randint(0, 9))print('请输入你的信息')list1.append(input('姓名:'))list1.append(kh)list1.append(input('密码:'))list1.append(int(0))db.append(list1)print('办卡信息:', list1)elif x == 2:n = input('请输入卡号:')for i in db:if n == i[1]:for z in range(3):pwd = input('输入密码:')if pwd == i[2]:j = int(input('输入存款金额:'))i[3] += jprint('余额:', i[3])breakelse:print('密码错误')else:print('密码错误,账户锁定')exit()elif x == 3:n = input('请输入卡号:')for i in db:if n == i[1]:for z in range(3):pwd = input('输入密码:')if pwd == i[2]:while True:j = int(input('输入取款金额:'))if j <= i[3]:i[3] -= jprint('余额:', i[3])breakelse:print('余额不足')else:print('密码错误')else:print('密码错误,账户锁定')print('取走银行卡')exit()elif x == 4:print('取走银行卡')breakelse:print('输入错误,请重新输入')
    

     

  相关解决方案