# 定义类
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()
dvd
最新推荐文章于 2024-03-23 11:42:25 发布