作业合集(emo版)

本文档包含多个编程作业,涉及用户登录系统的扩展,包括用户注册、登录、文章发布和查询等功能。此外,还展示了对列表进行排序、数字序列求和、合并有序数组以及数组元素重新排列的操作。这些练习涵盖了数据结构、条件判断、循环控制等基础编程概念。
摘要由CSDN通过智能技术生成

作业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}')

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值