-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlab7.py
More file actions
93 lines (76 loc) · 2.19 KB
/
Copy pathlab7.py
File metadata and controls
93 lines (76 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
from random import randint
class User:
def __init__(self, name, pwd):
self.name = name
self.pwd = pwd
def __eq__(self, other):
return self.__dict__ == other.__dict__
class Account:
def __init__(self):
self.user_list = [] # 用户列表,数据格式:[User 对象, User 对象, User 对象]
def login(self):
"""
用户登录,用户输入用户名和密码并去 self.user_list 中检查用户是否合法
"""
name = input("请输入用户名:")
password = input("请输入密码:")
user = User(name, password)
for i in range(len(self.user_list)):
if user == self.user_list[i]:
print("登录成功")
return True
else:
print('登录失败')
return False
def register(self):
"""
用户注册,动态创建 User 对象,并添加到 self.user_list 中
"""
name = ''
pwd = ''
for i in range(6):
name += chr(randint(0, 25) + 97)
pwd += str(randint(0, 9))
user1 = User(name, pwd)
self.user_list.append(user1)
print(name, pwd)
return
def run(self):
"""
主程序,先进行 2 次用户注册,再进行用户登录(3 次重试机会)
"""
self.register()
self.register()
if self.login():
return
elif self.login():
return
elif self.login():
return
else:
print("三次机会已用完")
class Circle:
def __init__(self, r):
self.r = float(r)
def circumference(self):
cir = round(3.1415926 * self.r * 2, 2)
print(cir)
return cir
def square(self):
squ = round(3.1415926 * self.r * self.r, 2)
print(squ)
return squ
class Func:
def __init__(self, a):
self.a = a
def func(self):
print(self.a)
if __name__ == "__main__":
# obj = Account()
# obj.run()
# x = input("请输入半径: ")
# obj = Circle(x)
# obj.square()
# obj.circumference()
obj = Func("hello world")
obj.func()