鱼C论坛

 找回密码
 立即注册
查看: 1781|回复: 8

白白,球解答

[复制链接]
发表于 2020-5-25 22:25:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ForPorsche 于 2020-5-26 17:17 编辑

设计一个APP安装管理系统,有两个功能,一个是添加已安装的App,另一个是查询已安装的App,要求分别用函数add_app()和query_app()实现,
在add_app()函数中实现让用户输入APP名字(app_name)、APP的占用空间(MB)(mb_used)、APP的安装日期(app_setup_date),
将输入的3个数据用字典apps保存;在query_app()函数中提供两个选择给用户:“1.查询所有已安装的App,2.输入App名查询”。当用户输入1时则进行查询所有已安装的App进行输出,
当用户输入2时,则让用户输入App名字进行查询。


效果如下:
**************APP安装管理系统***************
***************1.添加已1安装的App***************
***************2.查询己安装的App***************
请选择你的操作: 0
您选择的选项不存在,请重选: 3
您选择的选项不存在,请重选: 1
********添加你手机安装的APP*********
请输入APP名字:百度云
请输入APP的占用空间(MB) : 24
请输入APP的安装日期: 20200520
**************APP安装管理系统**************
***************1.添加己安装的App**************
**************2.查询己安装的App***************
请选择你的操作: 1
********添加你手机安装的APP*********
请输入APP名字: QQ
请输入APP的占用空间(MB) : 30
请输入APP的安装日期: 20200522
***************APP安装管理系统***************
****************1.添加已安装的App*************
**************2.查询已安装的App***************
请选择你的操作: 2
************查询App*************
1.查询所有己安装的App
2.输入App名查询
选择操作:1
序号: 0 APP名字:百度云占用空间(MB) : 24 APP安装的日期: 20200520
[{' app_ name' :’ 百度云', mb_ used' :’ 24' ,app_ setup_ date' :’20200520' },{' app_ name' :’QQ' ,’mb_ _used' :’30' ,’app_ setup_ date':' 20200522' }]
序号: 1 APP名字: QQ占用空间(MB) : 30 APP安装的日期: 20200522
[{ 'app_ name' :'百度云','mb_ _used' : '24','app_ setup_ _date' :’20200520' },{' app_ ,name’: QQ' ,’mb_ _used' :’30' ,’app_ _setup_ _date': ’20200522' }]
*************APP安装管理系统**************
**************1.添加己安装的App**************
***************2.查询已安装的App***************
请选择你的操作: 2
***********查询App*************
1.查询所有已安装的App
2.输入App名查询
选择操作: 2
请输入App的名字: wx
你未安装此款App,请重输: QQ
序号: 1 APP名字: QQ占用空间(MB) : 30 APP安装的日期: 20200522
***************APP安装管理系统***************
***************1.添加已安装的App***************
**************2.查询己安装的p***************
请选择你的操作:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-25 22:29:03 | 显示全部楼层
拜拜
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-25 22:29:31 | 显示全部楼层
拜拜
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-25 22:30:53 | 显示全部楼层
拜拜
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-25 22:37:01 | 显示全部楼层
明天我再搞
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-26 00:12:22 | 显示全部楼层
需要注释和我说下,晚上写完先休息了
  1. def add_app():
  2.     apps = {}
  3.     print('{:*^53}'.format('添加你手机安装的APP'))
  4.     app_name = input('请输入App的名字:')
  5.     mb_used = input('请输入App的占用空间(单位:MB):')
  6.     app_setup_date = input('请输入APP的安装日期:')
  7.     apps['app_name'] = app_name
  8.     apps['mb_used'] = mb_used
  9.     apps['app_setup_date'] = app_setup_date
  10.     data.append(apps)

  11. def query_app():
  12.     print('{:*^58}'.format('查询App'))
  13.     print('1.查询所有已安装的App')
  14.     print('2.输入App名查询')
  15.     print('选择操作:',end='')
  16.     while True:
  17.         try:
  18.             ask = int(input())
  19.             if ask != 1 and ask != 2:
  20.                  raise ValueError
  21.             break
  22.         except:
  23.             print('您选择的选项不存在,请重选:',end='')
  24.     if ask == 1:
  25.         for i in data:
  26.             print('序号:{:^4}APP名字:{:^5}APP安装日期:{:^10}'.format(i['app_name'],i['mb_used'],i['app_setup_date']))
  27.         return True
  28.     if ask == 2:
  29.         print('请输入你安装的App名字:',end='')
  30.         while True:
  31.             app_name = input('')
  32.             for i in data:
  33.                 if app_name not in i.values():
  34.                     continue
  35.                 break
  36.             else:
  37.                 print('你未安装此款App,请重输:',end='')
  38.                 continue
  39.             print('序号:{:^4} APP名字:{:^5} APP安装日期:{:^10}'.format(i['app_name'],i['mb_used'],i['app_setup_date']))
  40.             break
  41. def main():
  42.     while True:
  43.         print('{:*^55}'.format('APP安装管理系统'))
  44.         print('{:*^55}'.format('1.添加已安装的App'))
  45.         print('{:*^55}'.format('2.查询己安装的App'))
  46.         print('请选择你的操作:', end='')
  47.         while True:
  48.             try:
  49.                 ask_user = int(input())
  50.                 if ask_user != 1 and ask_user != 2:
  51.                   raise ValueError
  52.                 break
  53.             except:
  54.                 print('您选择的选项不存在,请重选:', end='')
  55.         if ask_user == 1:
  56.             add_app()
  57.             continue
  58.         if ask_user == 2:
  59.             query_app()
  60.             continue

  61. if __name__ == '__main__':
  62.     data = []
  63.     main()
复制代码

测试图: 运行结果图.png

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-26 00:14:42 | 显示全部楼层
Twilight6 发表于 2020-5-26 00:12
需要注释和我说下,晚上写完先休息了

测试图:

敲码不易~给个最佳鼓励吧~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-26 00:46:15 | 显示全部楼层
本帖最后由 Stubborn 于 2020-5-26 00:49 编辑
  1. # -*- coding: utf-8 -*-
  2. # !/usr/bin/python3
  3. """
  4. @ version: ??
  5. @ author: Alex
  6. @ file: test
  7. @datetime: 2020/5/25 - 22:38
  8. @explain:
  9. """
  10. import time



  11. class AppDepot:

  12.     class App:
  13.         __slots__ = ["name", "mb_used", "app_setup_date"]

  14.         def __init__(self, name, size):
  15.             self.name = name
  16.             self.mb_used = size
  17.             self.app_setup_date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

  18.         def __str__(self):
  19.             return f"app名字:{self.name},占用内存:{self.mb_used}MB, 安装时间{self.app_setup_date}"


  20.     def __init__(self, size=0x2000):

  21.         self.size = size
  22.         self.data = dict()


  23.     def add_app(self):
  24.         name = input("输入安装APP名字:")
  25.         while True:
  26.             try:
  27.                 if self.data.get(name, None) is not None: raise NameError
  28.                 size = int(input("输入安装APP内存大小:"))
  29.                 if self.size - size < 0: raise TypeError

  30.                 break

  31.             except ValueError:
  32.                 print("输入正确的数字:")
  33.             except TypeError:
  34.                 print(f"当前空前内存不足, 剩余{self.size}MB空间")
  35.             except NameError:
  36.                 name = input("APP名字已经存在,请更换其他名字:")


  37.         self.data[name] = AppDepot.App(name, size)

  38.         self.size -= size

  39.     def query(self):
  40.         print("""
  41.         ************查询App*************
  42.         1.查询所有己安装的App
  43.         2.输入App名查询
  44.         3.返回APP安装管理系统
  45.         """)
  46.         flag = "请选择你的操作:"
  47.         while True:
  48.             _ = input(flag)
  49.             if _ == "1":
  50.                 self.query_app()
  51.             elif _ == "2":
  52.                 name = input("请输入App的名字: ")
  53.                 if self.query_app(flag=name):
  54.                     print("你未安装此款App,请重输:")
  55.             elif _ == "3":
  56.                 break
  57.             else:
  58.                 flag = "操作失误,请重新选择"



  59.     def query_app(self, flag=None):
  60.         if flag is None:
  61.             for val in self.data.values():
  62.                 print(val)
  63.         else:
  64.             data = self.data.get(flag, None)
  65.             if data is not None:
  66.                 print(data)
  67.             else:
  68.                 return True

  69.         print(F"当前总计安装{len(self.data)}个APP,消耗内存{0x2000 - self.size}MB, 剩余内存{self.size}MB")


  70. def main():
  71.     a = """
  72.     ***************APP安装管理系统*************
  73.     ***************1.安装新的App***************
  74.     ***************2.查询己安装的App***********
  75.     ***************(Q,q) 退出系统 *************
  76.     """
  77.     print(a)

  78.     apps = AppDepot()
  79.     flag = "请选择你的操作:"
  80.     while True:

  81.         _ = input(flag)
  82.         if _ == "1":
  83.             print("********添加你手机安装的APP*********")
  84.             apps.add_app()
  85.             flag = f"安装成功,当前剩余{apps.size}MB空间,请继续选择你的操作:"

  86.         elif _ == "2":

  87.             apps.query()
  88.             print(a)
  89.             flag = "请选择你的操作:"

  90.         elif _ == "Q" or _ =="q":

  91.             exit()

  92.         else:
  93.             flag = "您选择的选项不存在,请重选:"


  94. main()
复制代码



Stubbron敲码不易~如果有帮助到你,记得给#6的Twilight6最佳鼓励吧~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-26 14:37:19 | 显示全部楼层
本帖最后由 ForPorsche 于 2020-5-26 14:39 编辑

大佬们,我的做出来了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-20 12:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表