简易购物车程序

salary = int(input("Input your salary:"))
goods_list ={"MacPro":"12000","iphone 8":"8000","iphone X":"10000","starbucks latte":"25","book":"50","bread":"5","shampoo":"25"}
available_goods = list()    # available_goods 保存的是根据salary可以买的商品
for i in goods_list:
    if salary >= int(goods_list[i]):
        available_goods.append(i)
if len(available_goods) == 0:
    print("You have no enought money, now exit.")
    exit()
print("Goods for you:")
goods_order = 1
for j in available_goods:
    print("{goods_order}: {j}, price: {goods}".format(goods_order=goods_order,j=j, goods=goods_list[j]))
    goods_order += 1
# print(len(available_goods))   # 有多少个商品可以买
chose_list = dict()
total_price = 0
total_price_tmp = 0
while True:
    choose_order = int(input("Please choose an item:"))
    while choose_order > len(available_goods) or choose_order <= 0:      # 如果可购买商品列表范围,则提示用户直到输入的order存在为止
        choose_order = int(input("The item you selected not exsit, try again:"))
    choose_order_num = int(input("How many do you want?"))
    if available_goods[choose_order-1] in chose_list:
        chose_list[available_goods[choose_order - 1]] = chose_list[available_goods[choose_order-1]] + choose_order_num
    else:
        chose_list[available_goods[choose_order-1]] = choose_order_num
    print(chose_list)
    for k in chose_list:
        total_price_tmp = total_price_tmp + int(goods_list[k])*chose_list[k]
    total_price = total_price_tmp
    total_price_tmp = 0
    if salary < total_price:
        print("The total price of your items is {total_price}".format(total_price=total_price))
        print("You don't have enought balance. please try again.")
        chose_list.clear()
        total_price = 0
    else:
        print("The total price of your items is {total_price}".format(total_price=total_price))
    buy_again = input("'c'to calculate, 'q' to cancel, other key to continue:")
    if buy_again == "q":
        print("Cancel all. Your balance is {salary}".format(salary=salary))
        break
    elif buy_again == 'c':
        balance = salary - total_price
        if balance == salary:
            print("Your balance is {balance}, you didn't buy anything.".format(balance=balance))
        else:
            print("Your balance is {balance}, the items you bought are blow:".format(balance=balance))
        for item in chose_list:
            print("{item}, amount: {count}, cost {price}".format(item = item, count = chose_list[item], price = int(chose_list[item]) * int(goods_list[item])))
        break

猜你喜欢

转载自www.cnblogs.com/jnyy0/p/9236109.html