python中元组,,1.元组:带了紧箍咒


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(‘错误动作‘)

python中元组

评论关闭