python第五天

作业1:如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

def is_Prime(down_number, up_number):
	for j in range(down_number,up_number):
		flag = True
		for i in range(2, j):
			if j % i == 0:
				flag = False #是合数
				break
		if flag:		
			ls.append(j)

def find_prime():
	for index in range(0,len(ls)):
		for number in range(0,index + 1):
			if ls[index] == ls[number] + 2:
				print(f"{ls[index + 1]}和{ls[index]}是一对孪生质数")


ls = list([])
is_Prime(1, 101)
find_prime()

作业2:给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

def insert_number():
	for i in range(0, 5):
		number = int(input("请输入五个数字:"))
		ls.append(number)


def number_avg_total(ls):
	count = 0
	for index in range(0,len(ls)):
		for subscript in range(0,len(ls)):
			if ls[index] > ls[subscript]:
				ls[index] , ls[subscript] = ls[subscript],ls[index]
	for index in range(0,len(ls)):	
		count += ls[index] 
	print(f"最大值是:{ls[4]}")
	print(f"最小值是:{ls[0]}")
	print(f"平均值是:{count/len(ls)}")
	print(f"求和:{count}")




ls = list([])
insert_number()
print(ls)
number_avg_total(ls)

作业3:将list中的重复数据去重,至少使用两种方案 

ls = list([1,5,3,6,6,7,7,1,10,6,8])

def repeat_list1(ls):
	ls = set(list(ls))
	print(ls)


def repeat_list2():
	arr = []
	for index in range(0,len(ls)):
		if ls[index] not in arr:
			number = ls[index]
			arr.append(number)
	return arr




repeat_list1(ls)
arr = repeat_list2()
print(arr)

 

作业4:两个列表进行合并操作

#方法一
def union_list():
	for index in range(0,len(arr)):
		number = arr[index]
		if True:
			ls.append(number)
	print(ls)
#方法二
def union_list2():
	ls.extend(arr)
	print(ls)

ls = [56,87,15,65,2,9,110]
arr = [6,5,9,16,110,87,65]
union_list()
ls = [56,87,15,65,2,9,110]
arr = [6,5,9,16,110,87,65]
union_list2()

 

作业5: 使用列表判断一个列表是否在另外一个列表中

def judge_number(ls,arr):	
	if set(ls) < set(arr):
		print("是子集关系")
	else:
		print("不是子集关系")



ls = [1,3,5,7,9]
arr = [1,2,3,4,5,6,7,8,9,10]
judge_number(ls,arr)

作业6:列表的反转 列表的排序

def sort_number():
	ls = []
	for index in range(0,5):
		number = int(input("请输入数字:"))
		ls.append(number)
	ls.sort(reverse = False)
	print(ls)
	ls.sort(reverse = True)
	print(ls)


sort_number()

作业7:如何将0-10随机存入列表中  

import random

def random_number():
	for i in range(10):
		ls.append(random.randint(0, 10))


ls = []
random_number()
print(ls)


作业8:完成一个登录注册案例(要求使用容器保存数据)

import sys
import getpass


# 保存所有用户
users = []


def main_menu():
	print("~ * ~" * 10)
	print("\t\t\t 1、用户注册")
	print("\t\t\t 2、用户登录")
	print("\t\t\t 3、退出系统")
	return input("请输入您的操作:")


def user_exists(username):
	for user in users:
		# {"username": "ljh",  "password": "1234"}
		if user.get("username") == username:
			return user
	return None


def reg():
	while True:
		username = input("请输入用户名称:")
		password = getpass.getpass("请输入用户密码:")
		confirm_pwd = getpass.getpass("请再次输入密码:")

		# 数据校验
		if username == None or username == "":
			print("对不起,用户名不能为空!!")
			continue
		if len(password) < 3:
			print("对不起,密码不能少于3位!!")
			continue
		if password != confirm_pwd:
			print("对不起,两次密码不一致,请重新输入!!")
			continue

		# 用户名称是否重复
		if user_exists(username) != None:
			print("对不起,该用户名称已经存在,请重新注册!!")
			continue

		# 保存用户
		user = {"username": username, "password": password}
		users.append(user)
		chioce = input("输入N/n则退出到上一个界面,否则继续注册")
		# if choice == "N" or chioce == "n":
		if choice.upper() == "N":
			break


def login():
	while True:
		username = input("请输入用户名称:")
		password = getpass.getpass("请输入用户密码:")
		user = user_exists(username)
		if user is not None:
			if user.get("password") == password:
				print("登录成功!!")
				print("欢迎到您的个人中心页面!!")
			else:
				print("对不起,密码错误")
		else:
			print("对不起,没有这个用户")


if __name__ == '__main__':
	while True:
		print(users)
		choice = main_menu()
		if choice == "1":
			# 注册
			reg()
		elif choice == "2":
			# 登录
			login()
		elif choice == "3":
			sys.exit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值