dvd

# 定义类
class DVD(object):
	def __init__(self,name,rest,price):
		self.name = name
		self.rest = rest
		self.price = price
	def show_info(self):
		print("%r,该影片还剩%r盘,一天%r元" %(self.name,self.rest,self.price))
	def borrow(self):
		if self.rest >=1:
			self.rest -= 1
			count(self)
		else:
			print("该影片已被借完,请选择其他影片")
# 定义影片类型
class horror(DVD):
	pass
class adventure(DVD):
	pass
class love(DVD):
	pass
class comedy(DVD):
	pass
class hot(DVD):
	pass
#--------------
# 结账功能
retun_word = {}  # 还书码
retun_num = 0
def count(*CDs):
	sum = 0
	for movie in CDs:
		sum += movie.price
		movie.rest -= 1
	print("总共{}元,支付宝:123456".format(sum))
	return sum
def rent():
	x = [x.name for x in all_movie]
	print(type(x))
	print("寻龙诀" in x)
	shop_car = []
	while True:
		name = input("输入影片名☆over退出或结算:")
		print(type(name))
		print(type(x[1]))
		if name in x:
			if all_movie[x.index(name)].rest >0:
				shop_car.append(all_movie[x.index(name)])
				print("已添加%r至购物车"%name)
			else:
				print("该影片已被借完,请选择其他影片")
		elif name == "over":
			break
		else:
			print("影片名有误或无此影片")
	# if len(shop_car) == 0:
	# 	return None
	count(*shop_car)
	return shop_car

#--------------
# 查询功能

def find():
	def get_name(obj):
		for i in obj:
			print("%r,余%d盘,%d元一天"%(i.name,i.rest,i.price),end="、")
	while True:
		print(
"""
----DVD查询系统----:
1.查询所有DVD
2.按影片名查询
3.恐怖片
4.冒险类
5.爱情片
6.喜剧片
7.目前热映
8.返回主菜单
""")
		try:
			print(" ")
			fin = int(input("查什么:"))
		except ValueError as e:
			print("请输入有效命令!")
		if fin == 1:
			get_name(all_movie)
		elif fin == 2:
			name = input("输入影片名:")
			x = [x.name for x in all_movie]
			if name in x:
				print("有该片:{0},剩余:{1}盘,{2}元一天"\
					.format(name,all_movie[x.index(name)].rest,all_movie[x.index(name)].price))
			else:
				print("无该片: {}".format(name))			
		elif fin == 3:
			get_name(horror_movie)
		elif fin == 4:
			get_name(adventure_movie)
		elif fin == 5:
			get_name(love_movie)
		elif fin == 6:
			get_name(comedy_movie)
		elif fin == 7:
			get_name(hot_movie)
		elif fin == 8:
			break
#--------------
# 增加功能
adds = [i for i in range(10000)]
add_index = 0
def add():
	name = input("电影名:")
	try:
		rest = int(input("多少盘:"))
		price = int(input("多少钱一天:"))
	except ValueError as e:
		print("别瞎JB输入")
	clas = input("什么类型(1恐怖片/2冒险类/3爱情片/4喜剧片/5热门片):")
	while True:
		if clas == "1":
			# adds[add_index] = horror(name,rest,price)
			all_movie.append(horror(name,rest,price))
			break
		elif clas == "2":
			all_movie.append(adventure(name,rest,price))
			break
		elif clas == "3":
			all_movie.append(love(name,rest,price))
			break
		elif clas == "4":
			all_movie.append(comedy(name,rest,price))
			break
		elif clas == "5":
			all_movie.append(hot(name,rest,price))
			break
	refresh_list()
	print("添加成功!")
#--------------
# 归还功能
def retun():
	x = int(input("请输入还书码:"))
	if x in retun_word:
		cds = retun_word[x]
		for i in cds:
			i.rest += 1
		del retun_word[x]
		print('全部还完!')
	else:
		print("还书码有误!")
#--------------
# 菜单功能
def menu():
	"DVD管理系统"
	global retun_num	
	while True:
		print('''
----DVD管理系统----:
1.查询DVD
2.增加DVD
3.租借DVD
4.归还DVD
5.退出
		''')
		try:
			inp = int(input("你想干啥:"))
		except ValueError as e:
			print("请输入有效命令!")
		if inp == 1:
			find()
		elif inp == 2:
			add()
		elif inp == 3:
			val = rent()
			if val != None:
				retun_num += 12
				retun_word[retun_num] = val
				print("你的还书码是:",retun_num,"请在还书时输入。")
		elif inp == 4:
			retun()
		elif inp == 5:
			break

jaw = horror("电锯惊魂",3,5)
tombStealer = adventure("寻龙诀",2,4)
loveinbj = love("北京爱情故事",1,3)
bulletFly = comedy("让子弹飞",4,4.5)
ForeverYoung = hot("无问东西",10,8)

all_movie = [jaw,tombStealer,loveinbj,bulletFly,ForeverYoung]
horror_movie = [i for i in all_movie if isinstance(i,horror)]
adventure_movie = [i for i in all_movie if isinstance(i,adventure)]
love_movie = [i for i in all_movie if isinstance(i,love)]
comedy_movie = [i for i in all_movie if isinstance(i,comedy)]
hot_movie = [i for i in all_movie if isinstance(i,hot)]
def refresh_list():
	global horror_movie,adventure_movie,love_movie,comedy_movie,hot_movie
	horror_movie = [i for i in all_movie if isinstance(i,horror)]
	adventure_movie = [i for i in all_movie if isinstance(i,adventure)]
	love_movie = [i for i in all_movie if isinstance(i,love)]
	comedy_movie = [i for i in all_movie if isinstance(i,comedy)]
	hot_movie = [i for i in all_movie if isinstance(i,hot)]
refresh_list()
menu()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值