【Python中的】列表和与元组

前言:

        序列是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

猜你喜欢

转载自blog.csdn.net/weixin_43831670/article/details/88884739