Python 购物车----之用户部分

知识点: 文件读,写操作,if 判断, for 循环

salary = input("输入你的工资:")
bought_list = []
product_list = {}

with open("product_list","r",encoding="utf-8") as f1:
    for item in f1:
        p_name,p_price = item.strip().split(':')
        product_list[p_name]=int(p_price)
print(product_list)

if salary.isdigit():
    salary = int(salary)
    while True:
        user_choice = input("please input product which you want:")
        if user_choice in product_list.keys():
            if product_list[user_choice] <= salary:
                bought_list.append(user_choice) #增加列表的元素
                salary = salary - product_list[user_choice]
                print("Had bought  [\033[32;1m%s\033[0m], and your balance is \033[31;1m%s\033[0m"%(user_choice,salary))
                print(bought_list)
            else:
                print("Your balance is less than product's price")
                continue
        elif user_choice is 'q':
            with open('bought.txt','w+',encoding='utf-8') as f2:
                for goods in bought_list:
                    print(goods,file=f2)
            exit(print("You had bought  %s goods, and your balance is %s"%(bought_list, salary)))

        else:
            print("The good had been sold out")
View Code

测试:

输入你的工资:15000
{'Python': 20, 'Iphone': 5288, 'Iwatch': 3288, 'Bike': 2400, 'Mac pro': 12888}
please input product which you want:Python
Had bought  [Python], and your balance is 14980
['Python']
please input product which you want:Bike
Had bought  [Bike], and your balance is 12580
['Python', 'Bike']
please input product which you want:Mac pro
Your balance is less than product's price
please input product which you want:Iwatch
Had bought  [Iwatch], and your balance is 9292
['Python', 'Bike', 'Iwatch']
please input product which you want:q
You had bought  ['Python', 'Bike', 'Iwatch'] goods, and your balance is 9292
View Code

 

posted @ 2017-01-10 22:23  FrankB  阅读(342)  评论(0编辑  收藏  举报