作业1
晚上上节课的作业,将用户登录功能扩展
实现登录后:
1、发表文章(标题、内容、缩略内容、发表时间、修改时间、作者)
2、修改自己的文章
3、查看自己的所有文章
4、通过标题,查询自己对应的文章
另外也可以自行扩展(如宠物领养、结婚……)
import sys
users = []
while True:
print("欢迎登录我们的用户管理系统")
print("\t\t 1、用户注册")
print("\t\t 2、用户登录")
print("\t\t 3、退出系统")
choice = input("请选择您的操作:")
if choice == "1":
while True:
print("欢迎进入到用户注册页面")
username = input("请输入用户名称:")
password = input("请输入用户密码:")
confirm_password = input("请再次确认密码:")
# 数据校验
# 用户名称不能为空
if username == None or len(username) == 0:
print("对不起,用户为空")
continue
# 用户名称不能重复
flag = False
for u in users:
if u.get("username") == username:
print("对不起,该用户已经存在,请重新注册")
flag = True
break
if flag:
continue
# 密码长度不能少于3位
if len(password) < 3:
print("对不起,密码长度不能少于3位")
continue
# 两次密码不一致
if password != confirm_password:
print("两次密码不一致")
continue
# 最后如何保存用户名称和密码
user = {"username": username, "password": password}
users.append(user)
print("用户注册成功,请登录")
break
elif choice == "2":
print("欢迎进入到用户登录页面")
username = input("请输入用户名称:")
password = input("请输入用户密码:")
# 判断用户名和密码是否存在于users
for user in users:
if user["username"] == username and user.get("password") == password:
print("恭喜您,{},登录成功".format(username))
else:
print("对不起,登录失败,请重新登录~~")
elif choice == "3":
sys.exit()
else:
print("输入有误,请重新选择")
作业2
给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
items = [{'name': 'WH', 'age': 20},
{'name': 'WXY', 'age': 21},
{"name": 'LJH', 'age': 19}]
items.sort(key=lambda item: item.get("age"))
print(items)
作业3:
求 a+aa+aaa+…+aaaaaaaaa=?其中a为1至9之``中的一个数,
a = input ( '输入数字:' )
count = int ( input ( '几个数字相加:' ))
ret = []
for i in range ( 1 ,count + 1 ):
ret.append( int (a * i))
print (ret[i - 1 ])
print ( sum (ret))
作业4:
合并两个有序数组,合并后还是有序列表
import random
n = []
m = []
for i in range(10):
n.append(random.randint(0,10))
m.append(random.randint(0,10))
print(n)
print(m)
for j in range(len(n)-1):
for k in range(len(n)-1-j):
if n[k]>n[k+1]:
n[k],n[k+1]=n[k+1],n[k]
print(f'n排序后的数组{n}')
for j in range(len(m)-1):
for k in range(len(m)-1-j):
if m[k]>m[k+1]:
m[k],m[k+1]=m[k+1],m[k]
print(f'm排序后的数组为{m}')
n.extend(m)
print(f'合并之后的数组为{n}')
for j in range(len(n)-1):
for k in range(len(n)-1-j):
if n[k]>n[k+1]:
n[k],n[k+1]=n[k+1],n[k]
print(f'排序之后的数组为{n}')
作业5
给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
推荐使用双指针:
[0,8, 2, 1, 5, 4]
import random
A = []
B = []
C = []
n=0
m=0
for i in range(10):
A.append(random.randint(1,11))
print(A)
for j in range(0,len(A)):
if A[j] % 2 == 0:
B.append(A[j])
else:
C.append(A[j])
B.extend(C)
print(f'改变之后的数组为\n{B}')