Python【英雄购买界面】

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

代码如下(简单版本):

print("                  英雄商城购买英雄                    ")
print("英雄购买票据")
print("~*"*20)
print("编号   姓名     昵称       价格     库存    描述")
print("1      李青     盲僧       6300     99+     我用双手成就你的梦想")
print("2      阿狸     九尾妖狐    6300     99+     我们去找点儿真正的乐子吧")
name = str(input("请输入你要购买的英雄(编号or姓名or=昵称):"))
if name == "1" or name == "李青" or name == "盲僧": 
    print("\n")
    print("\t\t英雄信息\n\n")
    print("编号   姓名     昵称       价格     库存    描述")
    print("1      李青     盲僧       6300     99+     我用双手成就你的梦想")
    price = int(input("请输入你购买英雄的价格:"))
    num = int(input("请输入你购买英雄的数量:"))
    pay = int(input("请付款,输入你的付款金额:"))
    print("\t购买票据\n")
    print("购买成功:李青\n")
    print("购买金额:%s\n" %pay)
    print("购买成功,退出英雄商城")
else:
    print("\n")
    print("\t\t英雄信息\n\n")
    print("编号   姓名     昵称       价格     库存    描述")
    print("2      阿狸     九尾妖狐    6300     99+     我们去找点儿真正的乐子吧")
    price = int(input("请输入你购买英雄的价格:"))
    num = int(input("请输入你购买英雄的数量:"))
    pay = int(input("请付款,输入你的付款金额:"))
    print("\t购买票据\n")
    print("购买成功:阿狸\n")
    print("购买金额:%s\n" %pay)
    print("购买成功,退出英雄商城")

代码如下(改进后):

def display_hero_info():
    print("                  英雄商城购买英雄                    ")
    print("编号   姓名     昵称       价格     库存    描述")
    print("1      李青     盲僧       6300     99+     我用双手成就你的梦想")
    print("2      阿狸     九尾妖狐    6300     99+     我们去找点儿真正的乐子吧")

def get_hero_details(hero):
    print("\n\t\t英雄信息\n\n")
    print("编号   姓名     昵称       价格     库存    描述")
    print(f"{hero['number']}      {hero['name']}     {hero['nickname']}       {hero['price']}     {hero['stock']}     {hero['description']}")

def print_purchase_receipt(hero, price, quantity, payment):
    total_price = price * quantity
    change = payment - total_price

    print("\t购买票据\n")
    print(f"购买成功:{hero['name']}\n")
    print(f"购买金额:{payment}\n")
    print("商品信息:")
    print(f"姓名:{hero['name']}")
    print(f"单价:{hero['price']} 元")
    print(f"购买数量:{quantity}")
    print(f"总价:{total_price} 元")
    print(f"付款金额:{payment} 元")
    print(f"找零:{change} 元\n")
    print("购买成功,退出英雄商城")

heroes = [
    {
        'number': 1,
        'name': '李青',
        'nickname': '盲僧',
        'price': 6300,
        'stock': '99+',
        'description': '我用双手成就你的梦想'
    },
    {
        'number': 2,
        'name': '阿狸',
        'nickname': '九尾妖狐',
        'price': 6300,
        'stock': '99+',
        'description': '我们去找点儿真正的乐子吧'
    }
]

display_hero_info()
print("\n")
hero_name = input("请输入你要购买的英雄(编号/姓名/昵称):")
selected_hero = None

for hero in heroes:
    if str(hero['number']) == hero_name or hero['name'] == hero_name or hero['nickname'] == hero_name:
        selected_hero = hero
        break

if selected_hero is not None:
    get_hero_details(selected_hero)
    price = int(input("请输入你购买英雄的价格:"))
    quantity = int(input("请输入你购买英雄的数量:"))
    payment = int(input("请付款,输入你的付款金额:"))
    print_purchase_receipt(selected_hero, price, quantity, payment)
else:
    print("输入有误,请重新运行程序并输入正确的编号、姓名或昵称")


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值