面向对象--小实例---DVD出借管理

简介:

usr/bin/python

--coding:utf-8--

class DVD:

def __init__(self,name,price,status):
    self.name = name
    self.price = price
    self.status = status

if name == "__main__":

# 0 未借出  1 借出
a = DVD("盗梦空间",10,1)
b = DVD("星际穿越",20,0)
c = DVD("黑客帝国",30,1)
dvds = {a.name:a,b.name:b,c.name:c}
print(dvds)
while True:
    print("——————————DVD管理系统————————————")
    print("1,查询所有DVD")
    print("2,增加DVD")
    print("3,借出DVD")
    print('4,归还DVD')
    print("5,退出")
    print("----------------------------------------------------------")
    i = int(input("请选择您要进行的操作:"))

    if i == 5:
        break
    elif i == 1:
        print("名称".center(20) + "价格".center(20) + "状态".center(10))
        for key in dvds.keys():
            print(dvds.get(key).status)
            if dvds.get(key).status == 0:
                print(key.center(18) + str(dvds.get(key).price).center(21) + "未借出".center(11))
            else:
                print(key.center(18) + str(dvds.get(key).price).center(21) + "已借出".center(11))
    elif i == 2:
        name = input("\t请输入要添加的DVD的名称:")
        while name in dvds.keys():
            name = input("\t该DVD已经存在,请重新输入:")
        else:
            price = input("\t请输入要添加的DVD的价格:")
            new_dvd = DVD(name,price,0)
            dvds[name] = new_dvd
            print("添加成功!!!")
    elif i == 3:
        while True:
            name = input("\t请输入要借出的DVD名称:")
            if  name not in dvds.keys():
                print('\t\t没有该DVD,请重新输入!')
            elif dvds.get(name).status == 1:
                print('\t\t已经借出,请重新输入!')
            else:
                print("{}借出成功!!".format(name))
                dvds.get(name).status = 1
                break
    elif i == 4:
        while True:
            name = input("\t请输入要归还的DVD名称:")
            if name not in dvds.keys():
                print("\t\t不存在,请重新输入!")
            elif dvds.get(name).status == 0:
                print("\t\t该DVD没有被借出,请新输入:")
            else:
                days = int(input("\t请输入借出天数:"))
                print("请扫一扫:",int(dvds.get(name).price) * days,"元")
                dvds.get(name).status = 0
                print("归还成功!!")
                break
目录
相关文章
|
4天前
修改centos7--简洁版
修改centos7--简洁版
21 4
|
10月前
|
C#
C#视频---文件管理file类
C#视频---文件管理file类
58 0
|
移动开发 PHP Windows
【php学习笔记】文件系统---制作备忘录和修改配置文件(上)
【php学习笔记】文件系统---制作备忘录和修改配置文件
69 0
【php学习笔记】文件系统---制作备忘录和修改配置文件(上)
|
存储 移动开发 Unix
【php学习笔记】文件系统---制作备忘录和修改配置文件(下)
【php学习笔记】文件系统---制作备忘录和修改配置文件
73 0
【php学习笔记】文件系统---制作备忘录和修改配置文件(下)
|
分布式计算 安全 Java
Hadoop运行环境搭建(开发重点一)、模板虚拟机环境准备、卸载虚拟机自带的JDK、安装epel-release、配置summer用户具有root权限,方便后期加sudo执行root权限的命令
安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存4G、硬盘50G、hadoop100虚拟机配置要求如下(本文Linux系统全部以CentOS-7-x86_64-DVD-2009为例)、使用yum安装需要虚拟机可以正常上网,yum安装前可以先测试下虚拟机联网情况、注意:如果Linux安装的是最小系统版,还需要安装如下工具;如果安装的是Linux桌面标准版,不需要执行如下操作、创建summer用户,并修改summer用户的密码、在/opt目录下创建文件夹,并修改所属主和所属
Hadoop运行环境搭建(开发重点一)、模板虚拟机环境准备、卸载虚拟机自带的JDK、安装epel-release、配置summer用户具有root权限,方便后期加sudo执行root权限的命令
|
弹性计算
一键创建启动模板 --- 让您创建实例更快捷
启动模板功能增强,支持根据已经存在的实例一键创建啦!
1819 0
|
Linux
RHEL7及CentOS7的语言、字符编码、键盘映射、X11布局设置(localectl)-系统管理(1)
这几天在阅读Red Hat Enterprise Linux 7的官方文档,发现了一些比之前有较大改善的系统管理方式,准备用一个系列的文章来分享一下自己的阅读、学习心得。
2023 0