1.元组:带了紧箍咒的列表 不可变数据类型,没有增删改,可以存储任意数据类型。

2.定义一个元组 t = (1,1.2,True,'redhat') print(t,type(t))

#如果元组里面包含可变数据类型,可以间接的修改元组内容 t = (2,2,True,'redhat') print(t,type(t)) t1 = ([1,2.4],4) t1[0].append(3) print(t1) t2 = () print(t2,type(t2)) t3 = tuple([]) print(t3,type(t3)) t4 = list(t3) print(t4,type(t4)) list = [1] print(list,type(list))

#元组如果只有一个元素,元素后面一定要加逗号,否则数据类型不确定 t = (2,) print(t,type(t))

3.元组的常用特性 count() # 统计指定的元素在改元组中出现的次数 index() # 表示指定元素的最小索引值 min() # 找出元组中的最小数 max() #找出元组中的最大数 sum() # 对元组中的元素求和

t = (10,1.2,True,'westos','westos') print(t.count('westos')) #统计元素 westos出现的次数 print(t.index(1.2)) #显示元素 1.2 的最小索引

4.元组的特性 t = (10,1.2,True,'westos','westos') #索引 print(t[0]) #通过索引找到指定的元素 print(t[-1] #通过索引找到指定的元素,负数表示从右往左

#切片 print(t[:-1]) #除过最后一个其他的元素 print(t[::-1]) #元素反转显示 print(t[2:]) # 除过前两个,剩余的元素

#连接 可以将两个元组连接成一个元组:格式 tup1 + tup2

tup1 = ('xian','xianyang','weinan') # 定义第一个元组 tup2 = ('ankang','hanzhong','tongchuan') # 定义第二个元组 tup = tup1 + tup2 # 将两个元组连接成一个新的元组 ('xian', 'xianyang', 'weinan', 'ankang', 'hanzhong', 'tongchuan')

#不同的数据类型之间不能连接 #print(t + [1,2,3]) #print(t + 'westos')

#重复 print(t * 3) 将元组中的元素重复三次

#for 循环 tup = (1,1.2,'xian') for i in tup : print(i)

#成员操作符 print(1 in t) #1是否在这个元组中 # <元素> in <元组> 属于则为True,不属于为False print(1 not in t) #1是否不在这个元组值中 # <元素> not in <元组> 不属于则为True,属于为False

5.元组的应用场景 a = 1 b = 2 c=a,b a,b=c print(a) print(b)

a = 1 b = 2 b,a = a,b # b,a = (1,2) b=(1,2)[0] a=(1,2)[1] print(a) print(b) # 不需要中间变量,直接交换两个变量的值

#打印变量 name = 'westos' age = 11 t = (name,age) print('name:%s,age:%d' %(name,age)) print('name:%s,age:%d' %t)

#元组的赋值:有多少个元素,就用多少个变量接收 t = ('westos',10,100) name,age,score =t print(name,age,score)

1.系统里面有多个用户,用户的信息目前保存在列表里面 users = ['root','westos'] passwd = ['123','456']

  • 添加用户: 1). 判断用户是否存在? 2). 如果存在, 报错; 3). 如果不存在,添加用户名和密码分别到列表中;

  • 删除用户 1). 判断用户名是否存在 2). 如果存在,删除; 3). 如果不存在, 报错;

  • 用户登陆

  • 用户查看

  • 退出

user = ['root','westos','toto'] passwd = ['123','456','789'] import getpass while True : action = input('请输入要进行的操作:[L]ogin|[P]rint|[C]reate|[D]elete|[E]xit :') #用户查看 if action == 'P': max = len(user) print('用户\t\t\t密码') for i in range(max): print('%s\t\t%s' % (user[i], passwd[i])) #添加用户 elif action == 'C': while 1 : username = input('请输入用户名称 :') if username not in user: user.append(username) password = getpass.getpass('请输入用户密码 :') passwd.append(passwd) print('用户创建成功') break else: print('该用户已经存在') elif action == 'D': #删除用户 while 2 : username = input('请输入用户名称 :') if username in user: num = user.index(username) user.pop(num) passwd.pop(num) print('用户删除成功') break else: print('该用户不存在存在') #用户登录 elif action == 'L': while 3 : username = input('请输入用户名称 :') if username in user: while 4: password = getpass.getpass('请输入用户密码 :') num = user.index(username) if password == passwd[num]: print('输入正确登陆成功') break else: print('密码错误!!') break else: print('用户不存在!!') #退出 elif action == 'E': print('退出') break else: print('错误动作')