1,如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
ls = []
for i in range(2, 101):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
ls.append(i)
# 判断哪些素数构成孪生素数
index = 0
print(ls)
while index < len(ls) - 1:
first = ls[index]
second = ls[index + 1]
if second - first == 2:
print(f"{first}和{second}之间是孪生素数")
index += 1
2,给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
def choose(s):
sum = 0
all = 0
maxnum = max(s)
minnum = min(s)
for i in s:
sum = sum + 1 #元素个数
all = all + i
average = all / sum
print(str("元素个数{0},最大值{1},最小值{2},元素和{3},平均值{4}").format(sum, maxnum, minnum, all, average))
def main():
s = [9,7,8,3,2,1,55,6]
choose(s)
main()
3,将list中的重复数据去重,至少使用两种方案
# 第一种
list1=[11,22,11,22,33,44,55,55,66]
print(list1)
print(list(set(list1)))
# 第二种
list1=[11,22,11,22,33,44,55,33,66]
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
print(list1)
print(list2)
4,两个列表进行合并操作
lt1=[1,2,3,4,5,6]
lt2=[2,3,4,5,6,7,8]
lt3=lt1+lt2
print(lt3)
5, 使用列表判断一个列表是否在另外一个列表中
lt1=[1,2,3,4,5,6]
lt2=[2,3,4,5,6,7,8]
lt3=lt1+lt2
if len(lt1) <= len(lt3):
print("存在")
else:
print("不存在")
6,列表的反转 列表的排序
lt1=[1,23,46,8,93,6,3,4,5,6]
lt2=["A","c","d","G"]
#排序
lt1.sort()
print(lt1)
lt2.sort(key=None)#英文排序
print(lt2)
#反转
lt1.reverse()
print(lt1)
7,如何将0-10随机存入列表中
import random
ls = []
for i in range(10):
ls.append(random.randint(0, 10))
print(ls)
8,完成一个登录注册案例(要求使用容器保存数据)
#完成一个登录注册案例
import sys
# users保存所有注册成功的用户
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("输入有误,请重新选择")
9,给定一个10个元素的列表,请完成排序(注意,不要使用系统api)
lt=[1,5,4,100,-21,6,0,120,520,1314]
for i in range(len(lt) - 1):
for j in range(len(lt) - 1 - i):
if lt[j] > lt[j + 1]:
lt[j], lt[j + 1] = lt[j + 1], lt[j]
print(lt)
10,合并两个有序数组,合并后还是有序列表、
ls1 = [1,3,5,7,9]
ls2 = [0,2,4,6,8]
ls3 = ls1+ls2
print(f"排序前{ls3}")
ls3.sort()
print(f"排序后{ls3}")
11,将10进制数据转换为二进制,并且统计其中的0和1的数量
num = int(input("请输入一个整数:"))
# 可以通过系统api完成转换
res = bin(num)
res = res[2:]
z_count = 0
o_count = 0
for i in res:
if i == "0":
z_count += 1
else:
o_count += 1
print(f"{num}转换二进制后,0有{z_count},1有{o_count}")
12,给定一个数组,已知数组中的元素都是成对出现,现在数组中只有一个元素没有成对,请找出这个元素。 [1,3,1,2,2,8,8]
ls = [1,3,1,2,2,8,4,8,4]
res = 0
for i in ls:
res ^= i
print(f"这个列表中,没有重复出现的数是{res}")