• Python【英雄购买界面】


    要求:设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
    展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
    输入付款金额->打印购买小票(扩展)

    代码如下(简单版本):

    1. print(" 英雄商城购买英雄 ")
    2. print("英雄购买票据")
    3. print("~*"*20)
    4. print("编号 姓名 昵称 价格 库存 描述")
    5. print("1 李青 盲僧 6300 99+ 我用双手成就你的梦想")
    6. print("2 阿狸 九尾妖狐 6300 99+ 我们去找点儿真正的乐子吧")
    7. name = str(input("请输入你要购买的英雄(编号or姓名or=昵称):"))
    8. if name == "1" or name == "李青" or name == "盲僧":
    9. print("\n")
    10. print("\t\t英雄信息\n\n")
    11. print("编号 姓名 昵称 价格 库存 描述")
    12. print("1 李青 盲僧 6300 99+ 我用双手成就你的梦想")
    13. price = int(input("请输入你购买英雄的价格:"))
    14. num = int(input("请输入你购买英雄的数量:"))
    15. pay = int(input("请付款,输入你的付款金额:"))
    16. print("\t购买票据\n")
    17. print("购买成功:李青\n")
    18. print("购买金额:%s\n" %pay)
    19. print("购买成功,退出英雄商城")
    20. else:
    21. print("\n")
    22. print("\t\t英雄信息\n\n")
    23. print("编号 姓名 昵称 价格 库存 描述")
    24. print("2 阿狸 九尾妖狐 6300 99+ 我们去找点儿真正的乐子吧")
    25. price = int(input("请输入你购买英雄的价格:"))
    26. num = int(input("请输入你购买英雄的数量:"))
    27. pay = int(input("请付款,输入你的付款金额:"))
    28. print("\t购买票据\n")
    29. print("购买成功:阿狸\n")
    30. print("购买金额:%s\n" %pay)
    31. print("购买成功,退出英雄商城")

    代码如下(改进后):

    1. def display_hero_info():
    2. print(" 英雄商城购买英雄 ")
    3. print("编号 姓名 昵称 价格 库存 描述")
    4. print("1 李青 盲僧 6300 99+ 我用双手成就你的梦想")
    5. print("2 阿狸 九尾妖狐 6300 99+ 我们去找点儿真正的乐子吧")
    6. def get_hero_details(hero):
    7. print("\n\t\t英雄信息\n\n")
    8. print("编号 姓名 昵称 价格 库存 描述")
    9. print(f"{hero['number']} {hero['name']} {hero['nickname']} {hero['price']} {hero['stock']} {hero['description']}")
    10. def print_purchase_receipt(hero, price, quantity, payment):
    11. total_price = price * quantity
    12. change = payment - total_price
    13. print("\t购买票据\n")
    14. print(f"购买成功:{hero['name']}\n")
    15. print(f"购买金额:{payment}\n")
    16. print("商品信息:")
    17. print(f"姓名:{hero['name']}")
    18. print(f"单价:{hero['price']} 元")
    19. print(f"购买数量:{quantity}")
    20. print(f"总价:{total_price} 元")
    21. print(f"付款金额:{payment} 元")
    22. print(f"找零:{change} 元\n")
    23. print("购买成功,退出英雄商城")
    24. heroes = [
    25. {
    26. 'number': 1,
    27. 'name': '李青',
    28. 'nickname': '盲僧',
    29. 'price': 6300,
    30. 'stock': '99+',
    31. 'description': '我用双手成就你的梦想'
    32. },
    33. {
    34. 'number': 2,
    35. 'name': '阿狸',
    36. 'nickname': '九尾妖狐',
    37. 'price': 6300,
    38. 'stock': '99+',
    39. 'description': '我们去找点儿真正的乐子吧'
    40. }
    41. ]
    42. display_hero_info()
    43. print("\n")
    44. hero_name = input("请输入你要购买的英雄(编号/姓名/昵称):")
    45. selected_hero = None
    46. for hero in heroes:
    47. if str(hero['number']) == hero_name or hero['name'] == hero_name or hero['nickname'] == hero_name:
    48. selected_hero = hero
    49. break
    50. if selected_hero is not None:
    51. get_hero_details(selected_hero)
    52. price = int(input("请输入你购买英雄的价格:"))
    53. quantity = int(input("请输入你购买英雄的数量:"))
    54. payment = int(input("请付款,输入你的付款金额:"))
    55. print_purchase_receipt(selected_hero, price, quantity, payment)
    56. else:
    57. print("输入有误,请重新运行程序并输入正确的编号、姓名或昵称")


     

  • 相关阅读:
    【附源码】计算机毕业设计JAVA移动在线点菜系统服务端服务端
    Hadoop3教程(四):HDFS的读写流程及节点距离计算
    Vue实战篇三十:实现一个简易版的头条新闻
    深入理解Linux内核select多路复用原理
    计算机毕业设计之java+springboot基于vue的乐校园二手书交易管理系统
    Hadoop:YARN、MapReduce、Hive操作
    【vue 组件化开发 一 】组件基本使用、全局和局部组件、父组件和子组件的区别
    3500字归纳总结:一名合格的软件测试工程师需要掌握的技能大全
    python - 内存池的机制
    【整理】text2kgbench: 语言模型根据本体生成知识图谱的能力
  • 原文地址:https://blog.csdn.net/miss_copper/article/details/133798884