作业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()