python第四天作业

作业1:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]

num = 0
list=[10, 8, 5, 3, 27, 99]
for i in list:
    a = i % 2
    if a == 0:
        num = i // 2 + num
    else:
        num = i // 2 + num + 1
print("最少需要取%s次" %num)

在这里插入图片描述

作业2:如果两个素数之差为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

在这里插入图片描述

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

ls = [1,5,9,3,5,7,2,4,6,8]
print("列表",ls)
num_max = ls[0]
num_min = ls[0]
num_and = 0
for i in range(1,len(ls)):
	if num_max < ls[i]:
		num_max = ls[i]
	elif num_min > ls[i]:
		num_min = ls[i]
	else:
		pass
print("最大值:",num_max)
print("最小值:",num_min)
for i in ls:
	num_and += i
print("和:",num_and)
num_average = num_and/len(ls)
print("平均值:",num_average)

在这里插入图片描述
作业4:将list中的重复数据去重,至少使用两种方案

a = [1,2,3,3,2,1,4,5,6]
print("去重前:",a)
b = list(set(a))
print("去重后:",b)
j = []
for i in a:
	if i not in j:
		j.append(i)
print("去重后:",j)

在这里插入图片描述
作业5:两个列表进行合并操作

a = [1,2,3,4,5,6]
aa = [7,8,9]
a.extend(aa)
print(a)

在这里插入图片描述
作业6: 使用列表判断一个列表是否在另外一个列表中

a = [1,2,3,4,5,6]
b = [1,2,3]
c = list(set(a).intersection(set(b)))
print(c)

在这里插入图片描述
作业7:列表的反转 列表的排序

a = [1,2,4,3,5,6]
#a.reverse()
a.sort()
print(a)

在这里插入图片描述
作业8:如何将0-10随机存入列表中

import random
a = []
for i in range(10):
	a.append(random.randint(0, 10))
print(a)

在这里插入图片描述
作业10:完成一个登录注册案例(要求使用容器保存数据)

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
			if password != confirm_password:
				print("两次密码不一致")
				continue
			user = {"username": username, "password": password}
			users.append(user)
			print("用户注册成功,请登录")
			break
	elif choice == "2":
		print("欢迎进入到用户登录页面")
		username = input("请输入用户名称:")
		password = input("请输入用户密码:")
		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("输入有误,请重新选择")

在这里插入图片描述
作业11:
使用控制台,完成第一天:购买英雄的界面

import sys
users = []
while True:
	print("\n\t     英雄联盟登录系统\n")
	print("~ *"*14)
	print("\t\t1.用户登录\n")
	print("\t\t2.新用户注册\n")
	print("\t\t3.退出系统\n")
	print("~ *"*14)
	choice = input("请选择您的操作:")
	if choice == "2":
		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
			if password != confirm_password:
				print("两次密码不一致")
				continue
			user = {"username": username, "password": password}
			users.append(user)
			print("用户注册成功,请登录")
			break
	elif choice == "1":
		print("欢迎进入到用户登录页面")
		username = input("请输入用户名称:")
		password = input("请输入用户密码:")
		for user in users:
			if user["username"] == username and user.get("password") == password:
				print("恭喜{}登录成功".format(username))
				print("\n\t\t英雄联盟商城首页\n")
				print("~ *"*14)
				print("\t\t1.进入英雄商城首页\n")
				print("\t\t2.悠闲小游戏\n")
				print("\t\t3.退出登录\n")
				print("~ *"*14)
				choice = input("(温馨提示)请输入您的选项:")
				if choice == "1":
					while True:
						print("\n\t\t英雄联盟商城英雄列表\n")
						print("~ *"*14)
						print("编号  姓名  昵称  价格  库存  描述\n")
						print("1  李青  盲   僧  300  100  一人之行可灭世,众人之勤可救世!\n")
						print("1  纳尔  迷失之牙  3500  100  丛林不会原谅盲目和无知\n")
						print("2  锐雯  放逐之刃  4000  100  她是残忍高效的战士\n")
						print("3  薇恩  暗夜猎手  3500  100  这个世界不想人们想象的那么美好\n")
						print("4  扎克  生化魔人  3000  100  即使你没有脊柱,你也必须站起来\n")
						print("5  杰斯  未来守护者 2500  100  武装着睿智与魅力,你的选择没有错")
						print("~ *"*14)
						choice = input("(温馨提示)请输入您要购买的英雄编号:")
						if choice == "1":
							print("\n\t\t英雄商城购买英雄")
							print("英雄信息")
							print("~ *"*14)
							print("\n")
							print("\t英雄联盟:盲僧(史诗)")
							print("\t英雄属性:生命值(428)/能量值200(+0)/移动速度425/攻击力/55.8(+3.2)")
							print("\t\t攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n")
							print("\t英雄座右铭:一人之行可灭世,众人之勤可救世!")
							print("\t英雄价格:3000")
							print("\t折扣价格:9.5\n")
							print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
							print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
							print("~ *"*14)
							a = int(input("请输入商品价格:"))
							b = int(input("请输入购买数量:"))
							c = int(input("(温馨提示)请付款:"))
							m = a*b*0.95
							n = c-m
							if n<0:
								print("您的金额不够")
								continue
							else:
								print("购买成功")
								print("\n\t\t英雄商城购买英雄")
								print("英雄购买票据")
								print("~ *"*14)
								print("\n")
								print("\t英雄联盟:盲僧(史诗)")
								print("\t英雄价格:3000")
								print("\t折扣价格:9.5\n")
								print("\t购买数量:{}".format(b))
								print("\t应付付款:{}".format(m))
								print("\t实际付款:{}".format(c))
								print("\t找零:{}".format(n))
								print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
								print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
								print("~ *"*14)
								input("(温馨提示)按任意键返回上一级菜单:")
				elif choice =="2":
					continue
				elif choice == "3":
					sys.exit
			else:
				print("对不起,登录失败,请重新登录~~")
	elif choice == "3":
		sys.exit()
	else:
		print("输入有误,请重新选择")

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值