前言:
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 -
它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6
个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索
引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确
最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个
方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。
正文:
一、进行列表的生成
数组:存储同一类型数据类型的集合
列表:可以存储任意的数据类型的集合
(1)列表的生成
格式:
变量名 = [类型1,类型2,类型3,类型4]
举例:
ty1 = [123,True,'name']
print(type(ty1))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表练习.py
<class 'list'>
Process finished with exit code 0
(2)列表的嵌套
格式:
变量名 = [类型1,类型2,[类型1,类型2]]
举例:
ty1 = [123,True,'name',[43,'westos'],False]
print(ty1[3][1])
print(type(ty1))
print(ty1)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表练习.py
westos
<class 'list'>
[123, True, 'name', [43, 'westos'], False]
Process finished with exit code 0
二、列表的特性:
1、索引:
示例1:
sevice = ['http','ssh','ftp','dns']
print(sevice[0])
print(sevice[1])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表索引.py
http
ssh
Process finished with exit code 0
2、切片
示例1:
service = ['http','ssh','dns','ftp']
print(service[1:])
print(service[:-1])
print(service[::-1])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/切片.py
['ssh', 'dns', 'ftp']
['http', 'ssh', 'dns']
['ftp', 'dns', 'ssh', 'http']
Process finished with exit code 0
3、重复
示例1:
service = ['dns','ftp','http','squid']
print(service*3)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/重复.py
['dns', 'ftp', 'http', 'squid', 'dns', 'ftp', 'http', 'squid', 'dns', 'ftp', 'http', 'squid']
Process finished with exit code 0
4、连接
示例1:
service = ['dns','ftp','http','squid']
service1 = ['mysql','oracle']
print(service + service1)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/重复.py
['dns', 'ftp', 'http', 'squid', 'mysql', 'oracle']
Process finished with exit code 0
5、成员操作符
示例1:
service = ['http','dns','ftp','mysql']
print('mysql' in service)
纸型结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/成员操作符.py
True
Process finished with exit code 0
6、迭代
示例1:
service = ['http','dns','ftp','mysql']
print('显示所有的服务'.center(50,'*'))
for se in service:
print(se)
纸型结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/迭代.py
*********************显示所有的服务**********************
http
dns
ftp
mysql
Process finished with exit code 0
7、列表里嵌套列表
示例1:索引
service = [['http','dsn'],['mysql','oracle'],['squid','firewalld']]
print(service[0][1])
纸型结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的嵌套.py
dsn
Process finished with exit code 0
示例2:切片
service = [['http','dns'],['firewalld','mysql']]
print(service[0][::-1])
print(service[1][:1])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/嵌套中的切片.py
['dns', 'http']
['firewalld']
Process finished with exit code 0
三、列表的增加
1、列表的追加,默认增加到末尾
示例1:
service = ['http','dns','ftp','firewalld']
print(service + ['squid'])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的增加.py
['http', 'dns', 'ftp', 'firewalld', 'squid']
Process finished with exit code 0
2、append的方法,追加一个元素到列表中
默认增加到末尾
示例1:
service = ['http','dns','ftp','firewalld']
service.append('samba')
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的增加.py
['http', 'dns', 'ftp', 'firewalld', 'samba']
Process finished with exit code 0
3、extend方法,列表的拉伸,即;列表追加多个元素
默认增加到末尾
示例1:
service = ['http','dns','ftp','firewalld']
service.extend(['samba','ssh'])
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的增加.py
['http', 'dns', 'ftp', 'firewalld', 'samba', 'ssh']
Process finished with exit code 0
4、在指定索引位置插入元素, insert方法
示例1:
service = ['http','dns','ftp','firewalld']
service.insert(1,'ssh')
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的增加.py
['http', 'ssh', 'dns', 'ftp', 'firewalld']
Process finished with exit code 0
四、列表的删除
pop方法
1、默认删除最后一个元素
示例1:
service = ['http','ssh','dns','firewalld']
service.pop()
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的删除.py
['http', 'ssh', 'dns']
Process finished with exit code 0
2、删除指定的元素
(1)通过索引进行删除指定的元素
示例1:
service = ['http','ssh','dns','firewalld']
service.pop(0)
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的删除.py
['ssh', 'dns', 'firewalld']
Process finished with exit code 0
(2)remove方法,删除指定的元素,通过元素名来删除指定的元素
示例2:
service = ['http','ssh','dns','firewalld']
service.remove('dns')
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的删除.py
['http', 'ssh', 'firewalld']
Process finished with exit code 0
3、进行列表的删除
示例1:
service = ['http','ssh','dns','firewalld']
del service
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的删除.py
Traceback (most recent call last):
File "/home/kiosk/PycharmProjects/westos1/列表的删除.py", line 3, in <module>
print(service)
NameError: name 'service' is not defined
Process finished with exit code 1
五、列表的修改
1、通过索引进行列表中元素的重新赋值
示例1:
service = ['http','dns','ftp']
service[0] = 'mysql'
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的改变.py
['mysql', 'dns', 'ftp']
Process finished with exit code 0
2、通过切片进行列表中元素的赋值
示例1:
service = ['http','dns','ftp']
service[:2] = ['samba','nfs']
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的改变.py
['samba', 'nfs', 'ftp']
Process finished with exit code 0
六、进行列表的查看
1、进行列表中元素的统计
示例1:
service = ['ssh','ssh','dns','firewalld']
print(service.count('ssh'))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的查看.py
2
Process finished with exit code 0
2、通过索引进行指定元素的查看和查看指定元素的索引值(可以指定索引范围查看)
1、通过列表中的元素找出元素中索引,index方法
如果该元素出现多次将会返回第一次监测到该元素的索引
示例1:
service = ['ssh','ssh','dns','firewalld']
print(service.index('ssh'))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的查看.py
0
Process finished with exit code 0
2、查看指定元素的索引值(可以指定索引范围查看)
示例1:
service = ['ssh','ssh','dns','firewalld']
print(service.index('ssh',1,4))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的查看.py
1
Process finished with exit code 0
七、进行列表的排序
1‘、sort方法,打乱列表中的排序,
如果是数字或者字母将进行升序排列
示例1:
service = ['ftp','ssh','dns']
service.sort()
print(service)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的排序.py
['dns', 'ftp', 'ssh']
Process finished with exit code 0
2、shuffle方法,打乱列表中数字的排序
如果是数字或者字母将进行降序排列
示例1:
import random
li = list(range(10))
print((li))
random.shuffle(li)
print(li)
执行接轨:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的排序.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 4, 5, 3, 6, 1, 9, 7, 8, 2]
Process finished with exit code 0
八、Python中常用的内置方法
1、min方法
比较输出数字中的最小数
示例1:
print(min(2,3))
输出结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/python的内置方法.py
2
Process finished with exit code 0
2、max方法
比较输出数字中的最大值
示例1:
print(max(2,3))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/python的内置方法.py
3
Process finished with exit code 0
3、sum方法
进行数字的求和
示例1:
result = sum(range(101))
print(result)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/python的内置方法.py
5050
Process finished with exit code 0
4、枚举
返回索引值和对应的value值
示例1:
for i,v in enumerate('hello'):
print(i,v)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/枚举.py
0 h
1 e
2 l
3 l
4 o
Process finished with exit code 0
5、压缩
将两个变量值进行压缩
示例1:
s1 = 'abc'
s2 = '123'
for i in zip(s1,s2):
print(i)
print(''.join(i))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/枚举.py
('a', '1')
a1
('b', '2')
b2
('c', '3')
c3
Process finished with exit code 0
九、python中的元组
元组(tuple):元组本身是不可变的数据类型
元组内可以存储任意的数据类型
1、进行元组的创建
示例1:
t = (1,2,3,True,'str')
print(t)
print(type(t))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的创建.py
(1, 2, 3, True, 'str')
<class 'tuple'>
Process finished with exit code 0
2、元组内容的改变
元组里面包含可变数据类型,可以间接修改元组内容
示例1:
t = ([1,2,3,4],5)
t[0].append(5)
print(t)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的创建.py
([1, 2, 3, 4, 5], 5)
Process finished with exit code 0
十、元组的特性
1、索引
示例1:
allower = ('root','westos','Python')
allower1 = ('hello world','linux')
print(allower[0])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的特性.py
root
Process finished with exit code 0
2、切片
示例1:
allower = ('root','westos','Python')
allower1 = ('hello world','linux')
print(allower[1:])
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的特性.py
('westos', 'Python')
Process finished with exit code 0
3、重复
示例1:
allower = ('root','westos','Python')
allower1 = ('hello world','linux')
print(allower * 3)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的特性.py
('root', 'westos', 'Python', 'root', 'westos', 'Python', 'root', 'westos', 'Python')
Process finished with exit code 0
4、连接
示例1:
allower = ('root','westos','Python')
allower1 = ('hello world','linux')
print(allower + allower1)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的特性.py
('root', 'westos', 'Python', 'hello world', 'linux')
Process finished with exit code 0
5、成员操作符
示例1:
allower = ('root','westos','Python')
allower1 = ('hello world','linux')
print('westos' in allower)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的特性.py
True
Process finished with exit code 0
6、循环
示例1:
allower = ('root','student','westos')
allower1 = ('Python','Linux','hello')
for use in allower1:
print(use)
for user,passwd in zip(allower1,allower):
print(user,':',passwd)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/循环.py
Python
Linux
hello
Python : root
Linux : student
hello : westos
Process finished with exit code 0
十一、元组的常用方法
1、元组中元素的统计
示例1:
s1 = ('westos','westos',2,3,4)
print(s1.count('westos'))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的常用方法.py
2
Process finished with exit code 0
2、元组中元素索引的返回
示例1:
s1 = ('westos','westos',2,3,4)
print(s1.index('westos'))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的常用方法.py
0
Process finished with exit code 0
十二、元组的应用场景
元组的赋值,有多少个元素,就用多少个变量进行接收
元组中如果只有一个元素,该元素后应该使用 , 号隔开
示例1:
t = ('westos','11','100')
name,age,score = t
print(name,age,score)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的应用场景.py
westos 11 100
Process finished with exit code 0
元组中元素的排列
示例1:
score = (100,90,80,70,60)
scoreLi = list(score)
scoreLi.sort
print(scoreLi)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的应用场景.py
[60, 70, 80, 90, 100]
Process finished with exit code 0
元组中元素的截取
示例:
score = (100,90,80,70,60)
maxscore,*midscore,minscore = score
print(maxscore)
print(midscore)
print(minscore)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/元组的应用场景.py
100
[90, 80, 70]
60
Process finished with exit code 0
十三、Python中的集合
1、集合的特性:集合中的元素时不可重复的
示例1:
s = {1,2,3,4,5,2,2,3,4,5}
print(s)
print(type(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
{1, 2, 3, 4, 5}
<class 'set'>
Process finished with exit code 0
2、空集合
示例1:
s2 = {}
print(type(s2))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
<class 'dict'>
Process finished with exit code 0
进行集合的转换
set 方法,将其他类型转换成集合类型
示例1:
s1 = [1,2,3,4,1,2,3]
s2 = set(s1)
print(s2)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
{1, 2, 3, 4}
Process finished with exit code 0
十四、集合的特性
集合只支持成员操作符 和 for循环
示例1:成员操作符
s1 = {1,2,3}
print(1 in s1)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
True
Process finished with exit code 0
示例2、for循环
(1)
s1 = {1,2,3}
for i in s1:
print(i)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
1
2
3
Process finished with exit code 0
(2)进行元素的插入
s1 = {1,2,3}
for i in s1:
print(i,end='3')
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
132333
Process finished with exit code 0
示例3、枚举
s1 = {1,2,3}
for i,v in enumerate(s1):
print(i,v)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合.py
0 1
1 2
2 3
Process finished with exit code 0
十五、集合的常用方法
1、集合中元素的增加和更新
示例1:集合中元素的增加
s = {1,2,3}
s.add(4)
print(s)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{1, 2, 3, 4}
Process finished with exit code 0
示例2、集合中元素地更新
s = {1,2,3}
s.update({1,2,4})
print(s)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{1, 2, 3, 4}
Process finished with exit code 0
2、集合中元素的删除
pop方法,默认删除集合中地第一个元素,
示例1:
s = {1,2,3}
s.pop()
print(s)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{2, 3}
Process finished with exit code 0
3、集合中删除指定的元素
remoce当法
示例1:
s = {1,2,3}
s.remove(2)
print(s)
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{1, 3}
Process finished with exit code 0
4、集合中的交集、差集、并集
(1)交集
intersection方法
示例:
s = {1,2,3}
s1 = {1,2,3,4}
print(s1.intersection(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{1, 2, 3}
Process finished with exit code 0
(2)并集
union方法
示例1:
s = {1,2,3}
s1 = {1,2,3,4}
print(s1.union(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{1, 2, 3, 4}
Process finished with exit code 0
(3)差集
sysmmetric方法
示例1:
s = {1,2,3}
s1 = {1,2,3,4}
print(s1.difference(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{4}
Process finished with exit code 0
5、对等差分:并集、交集
示例1:
对等差分 = 并集 - 交集
s = {1,2,3}
s1 = {1,2,3,4}
print(s1.symmetric_difference(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
{4}
Process finished with exit code 0
6、判断两个集合是否不相交
isdisjoint方法
示例1:
s = {1,2,3}
s1 = {1,2,3,4}
print(s1.isdisjoint(s))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/集合的常用方法.py
False
Process finished with exit code 0
列表和集合的练习:
示例1:
1、系统中有多个用户,用户的信息目前保存在列表里面 user = ['root','westos'] passwd = ['123'.'456'] 2、用户登陆(判断用户是否登陆成功) 1)判断用户是否存在 2)如果用户存在 1)判断用户密码是否正确 如果正确,显示登陆成功,并且退出循环 如果密码错误,进行重新登陆,总共有三次机会登陆 3)如果用户不存在,进行重新登陆,共有三次机会,
"""
1、系统中有多个用户,用户的信息目前保存在列表里面
user = ['root','westos']
passwd = ['123'.'456']
2、用户登陆(判断用户是否登陆成功)
1)判断用户是否存在
2)如果用户存在
1)判断用户密码是否正确
如果正确,显示登陆成功,并且退出循环
如果密码错误,进行重新登陆,总共有三次机会登陆
3)如果用户不存在,进行重新登陆,共有三次机会,
题目分析,
1、定义两个列表分别存放用户和密码
2、判断用户是否存在使用成员操作符
3、使用索引进行用户名和密码进行匹配
4、使用while循环控制循环的次数
"""
users = ['westos','redhat']
passwds = ['123','456']
count = 0
while count < 3:
user = input('请输入用户名:')
if user in users:
index = users.index(user)
passwd = input("请输入用户的密码:")
if passwd == passwds[index]:
print('用户登陆成功')
break
else:
print('密码输入错误')
count += 1
continue
else:
print('用户不存在')
count += 1
continue
else:
print('输入次数已超过规定次数,退出')
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的练习.py
请输入用户名:qdas
用户不存在
请输入用户名:dscsf
用户不存在
请输入用户名:fds
用户不存在
输入次数已超过规定次数,退出
Process finished with exit code 0
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的练习.py
请输入用户名:westos
请输入用户的密码:123
用户登陆成功
Process finished with exit code 0
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/列表的练习.py
请输入用户名:weds
用户不存在
请输入用户名:westos
请输入用户的密码:dfds
密码输入错误
请输入用户名:westos
请输入用户的密码:123
用户登陆成功
Process finished with exit code 0
示例2:管理会员信息
"""
1.后台管理员用户只有一个 用户:admin 密码:admin
2.管理员登录成功后,才能管理会员信息
3.会员信息包含:
添加会员信息
删除会员信息
查看会员信息
退出
"""
"""
1.后台管理员用户只有一个 用户:admin 密码:admin
2.管理员登录成功后,才能管理会员信息
3.会员信息包含:
添加会员信息
删除会员信息
查看会员信息
退出
题目分析:
1、首先请用户输入用户名和密码
2、将用户名和密码进行匹配,如果匹配成功,则进入
会员管理界面
3、显示出管理员想要进行的动作
4、定义一个空列表
5、进行用户的增加。使用append方法进行列表元素的增加
6、进行用户的删除,使用remove方法进行列表元素的删除
7、进行列表元素的查看
8、进行系统的退出,使用 exit
"""
use = input('请输入用户名:')
passwd = input('请输入用户密码:')
num = []
if use == 'admin' and passwd == 'admin':
print('用户登陆成功')
while True:
print(
"""
1、添加用户信息
2、删除用户信息
3、查看用户信息
4、退出系统
"""
)
chose = int(input('请用户输入选择:'))
if chose == 1:
num1 = input('请输入用户要增加的成员:')
num.append(num1)
print(num)
continue
elif chose == 2:
if num == []:
print('列表为空,不能进行删除动作')
continue
else:
for i,v in enumerate(num):
print(i,v)
index = int(input('请输入用户要删除成员的索引:'))
num.pop(index)
print(num)
elif chose == 3:
print(num)
continue
elif chose == 4:
exit()
else:
print('用户输入错误,请重新选择')
else:
print('登陆失败')
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/管理会员信息.py
请输入用户名:admin
请输入用户密码:admin
用户登陆成功
1、添加用户信息
2、删除用户信息
3、查看用户信息
4、退出系统
请用户输入选择:1
请输入用户要增加的成员:westos
['westos']
1、添加用户信息
2、删除用户信息
3、查看用户信息
4、退出系统
请用户输入选择:2
0 westos
请输入用户要删除成员的索引:0
[]
1、添加用户信息
2、删除用户信息
3、查看用户信息
4、退出系统
请用户输入选择:3
[]
1、添加用户信息
2、删除用户信息
3、查看用户信息
4、退出系统
请用户输入选择:4
Process finished with exit code 0
示例3、进行集合的练习
华为机测题:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输>入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应
着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成
“去重”与排序工作
"""
"""华为机测题:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输>入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应
着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成
“去重”与排序工作
进行题目的分析:
1、进行随机数的生成
使用for循环进行控制生成随机数的个数,
使用random方法控制随机数生成的范围
2、定义一个空集合,生成的随机数放入到该空集合中,set([])
3、进行集合中元素的排序,使用sorted方法
"""
import random
N = int(input('请输入要产生随机数的个数:'))
student = set([])
for i in range(N):
student.add(random.randint(1,1000))
print(sorted(student))
执行结果:
/home/kiosk/PycharmProjects/westos1/venv/bin/python /home/kiosk/PycharmProjects/westos1/华为机测题.py
请输入要产生随机数的个数:10
[11, 502, 506, 615, 623, 642, 680, 797, 910, 977]
Process finished with exit code 0