VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • Python No.13 之练习(购物车)语句while、for、list等

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hugolinhj

#ps:字符编码是UTF-8,单独DOS运行需要删除字体改变代码。


#练习,定义商品清单,客户输入余额(整数),选择商品后,扣除金额。
product_list = [
    ('iphone',5800),
    ('Mac_pro',9800),
    ('bike',800),
    ('coffee',30),
    ('Watch',10600),
    ('MingYW',10000),
]
shopping=[]
#定义两个变量,product_list:商品清单。shopping:购物清单。
salary = input('Input your Salary:')
#定义变量salary,用户金额。
count = 3
#定义变量count,为计算输入多次错误字符后,退出。
while count >0:
    if salary.isdigit():
        #判断字符是否为整数,或字符串可否转整数。
        salary = int(salary)
        #转int整数类型
        while True:
            for item in enumerate(product_list): #依次循环商品清单
                    #enumerate()显示列表的下标
            #上句等于 for item in product_list:
                    #print (product_list.index(item),item)
                print(item)
            user_choice = input('需要的商品>>>')
            #定义变量user_choice为用户选择的序号‘下标'.
            if user_choice.isdigit():
                user_choice = int(user_choice)
                if user_choice < len(product_list) and user_choice >=0:
                    #len(product_list)检查product_list的长度为6。判断,比较。
                    p_item = product_list[user_choice]
                    #定义变量p_item为所选商品。
                    if p_item[1] <= salary:
                    #比较p_item下标1的数值,与salary用户余额
                        shopping.append(p_item)
                        #添加商品入变量p_item入shopping列表中
                        salary -=p_item[1]
                        #余额减p_item下标1的数值
                        print('添加 %s 加入购物车,你得余额为 \033[31:1m%s\033[0m'%(p_item,salary))

                        # \033[31:1m‘%s’\033[0m ‘%s’改字体颜色为红色、加粗。
                        # \033[41:1m‘%s’\033[0m ‘%s’改字体颜色为背景红色、加粗。
                        # \033[33:1m‘%s’\033[0m ‘%s’改字体颜色为背景黄色、加粗。

                    else:print("\033[31:1m你的余额不足,请重新输入!!或者输入q\033[0m")
                else:print('你输入的有误!请重新输入。请按‘q’退出!')
            elif user_choice == 'q':
                if len(shopping) == 0:
                    print ('你未购买商品!谢谢光临!')
                    print('你的余额:%s'%(salary))
                    exit ()
                else:
                    print('你购买商品如下:')
                    for p in shopping:
                        print(p)
                    print('你的余额:%s'%(salary))
                    exit()
            else:
                print('你输入的有误!请重新输入,')
        else:break
    elif salary=='q':
        print('感谢你得使用!')
        exit()
    else:
        print('你输入的有误!请重新输入或者输入"q"退出!')
        print('你剩余机会还有:',count,'次')
        salary=input('请重新输入>>>')
        count -= 1
        #巡检次数减1
else:print('感谢你得使用!')


shopping=
Are you want? 
iphone = 5800
mac_pro = 12000
coffee = 30
bike = 800

for i in shopping:
    print(i)
'''
 
出处:https://www.cnblogs.com/mingyw/p/14095407.html


相关教程