1. 列表和普通变量有什么区别
列表是数据类型,普通变量是用来存储数据的
可以把列表赋值给普通变量
2.存在列表 a = [11, 22, 33], 如何向列表中添加(增)新元素 44
a.append(44)
或者
a.insert(3,44) #索引号为3
3.对列表排序
a = [11,22,33,2]
b = sorted(a) #创建了一个新的列表 ,a.sort()修改a列表
print(b) # [2, 11, 22, 33, 44]
b = a.sort()
print(b) # None
print(a) # [2, 11, 22, 33, 44]
4.存在字典 info = {'name':'李四'}, 删除元素 name
del info["name"]
或者
info.pop("name")
5.字典和列表的不同以及使用字典的目的
字典是以键值对的形式存储数据的,字典是无序的,通过键获取到对应值
列表是有序的,通过下标获取到值
使用字典可以存储一些有标识性的数据,可以为数据起一个特定的名字。
列表增加元素方式: list.append(s),list.extend(list2),list.insert(index,s),
1 a = [11,22,33,2]
2 b= [22,44]
3 str = '2'
4 a.extend(str) # [11, 22, 33, 2, '2']
5 print(a)
6 a.extend(b) # [11, 22, 33, 2, '2', 22, 44]
7 print(a)
字典(hash存储):dict[key] = value,dict.update(dict2) ,
set(hash存储):set.add(s),set.update(iterable)
1 set1 = {10,3.13,20,"hello"}
2 set2 = {10,18}
3 set1.update(set2) # 10未被添加,18被加入
4 print(set1)
5
6 list = [1,[2,3]]
7 set1.update(list) # TypeError: unhashable type: 'list'
列表删除元素的方式,del list[index],list.pop(index),list.remove(s)
字典的删除方式,del dict[key], dict.pop(key)
set的删除方式,set.pop(),set.remove(s)
1 set1.pop() # 删除最后一个,但最后一个是随机的,所以可认为随机删除
2 print(set1)
3
4 set1.remove("15")
5 print(set1)
用户注册登录系统
1 user_dict = {}
2 user_list = []
3 log = True
4
5 def prelog():
6 active = True
7 while active:
8 user_name = input("请输入你的昵称")
9 len_username = len(user_name)
10 if len_username > 6 and len_username < 20:
11 while active:
12 user_pass = input("请输入你的密码")
13 len_userpass = len(user_pass)
14 if len_userpass > 8 and len_userpass < 20:
15 while active:
16 user_age = input("请输入你的年龄")
17 if user_age.isdigit():
18 user_dict['昵称'] = user_name
19 user_dict['密码'] = user_pass
20 user_dict['年龄'] = user_age
21 user_list.append(user_dict)
22 active = False
23 else:
24 print("请输入纯数字")
25 continue
26 else:
27 print("密码长度不合法")
28 continue
29 else:
30 print("昵称长度不合法")
31 continue
32
33 def login():
34 signal2 = True
35 while True:
36 if signal2:
37 global log
38 log = False
39 signal = False
40 user_name = input("请输入你的用户名")
41 user_pass = input("请输入你的密码")
42 for e in user_list:
43 if e.get("昵称") == user_name:
44 real_pass = e["密码"]
45 if real_pass == user_pass:
46 signal = True
47 print("登录成功")
48 print("运行成功")
49 ask = input("是否退出?y/n")
50 if ask == 'y':
51 signal2 = False
52 log = True
53 break # 直接退出for循环
54 else:
55 signal2 = False
56 break #直接退出for循环
57 if not signal:
58 print("用户名或者密码错误")
59 continue
60 else:
61 break # 直接退出while循环
62
63 while True:
64 choice = input("""1.注册
65 2.登录
66 3.注销
67 4.退出
68 """)
69 if choice == '1':
70 prelog()
71 elif choice == '2':
72 if log == True:
73 login()
74 # continue
75 else:
76 print("用户接口被占用")
77 elif choice == '3':
78 if log == True:
79 print("无用户登录")
80 else:
81 log = True
82 elif choice == '4':
83 if log == True:
84 break
85 else:
86 print("请先注销")
87 else:
88 print("请输入1-4")