python中对列表和循环使用的小练习

#author devilf

product_list = [
    ('iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10000),
    ('Coffee',123)
]
shop_list = []
salary = input('pls enter your salary: ')

if salary.isdigit():                    #判断是否为整形,否则会退出
    salary = int(salary)
    while True:
        for index,info in enumerate(product_list):                  #打印列表
#            print(product_list.index(info),info)
            print(index,info)
        user_choice = input('pls enter what you buy\n>>>: ')        #输入要购买的商品 编号
        if user_choice.isdigit():                   #再判断下输入的是否是数字,否则退出
            user_choice = int(user_choice)
            if user_choice <= len(product_list) and user_choice >= 0:       #判断输入的编号是否在商品列表的编号范围内
                p_item = product_list[user_choice]              #取出编号对应的商品名称
                if p_item[1] <= salary:             #判断改商品的价格是否在工资范围内
                    shop_list.append(p_item)        #如果在工资范围内,购买!
                    salary -= p_item[1]             #总工资便会减少对应的钱
                    print('Added %s into shopping cart,your current balance is %s' %(p_item,salary))
                else:
                    print('your current balance is %s ,now is not enough' % (salary))
            else:
                print('product %s is not exist!' % user_choice )
        elif user_choice == 'q':                    #如果输入的是 'q',便会退出
            print('-------------shopping list------------')
            for p in shop_list:
                print(p)
            print('quit.....,your current money: ',salary)
            exit()
        else:
            print('Invalid option')

 

posted @ 2017-12-15 20:23  Devilf  阅读(1691)  评论(0编辑  收藏  举报