python3 购物车小程序

发布时间:2019-09-26 07:25:30编辑:auto阅读(1657)

    -- coding:utf-8 --

    #Author Chen

    #定义商品列表
    List_of_commodities = [
    ('Iphone',6888),
    ('Mac Pro',12888),
    ('Bike',3000),
    ('Book',34),
    ('Cut',98),
    ]

    #定义一个空列表,用于存放已购商品
    Purchased_goods = []

    Amount_of_shopping = input("请输入您的购物金额:")

    if Amount_of_shopping.isdigit():
    Amount_of_shopping = int (Amount_of_shopping)
    while True:
    for index,item in enumerate(List_of_commodities):
    print(index,item)
    chioce = input("请输入您选择的商品编号:")
    if chioce.isdigit():
    chioce = int(chioce)
    if chioce < len(List_of_commodities) and chioce >= 0 :
    chitem = List_of_commodities[chioce]
    if chitem[1] <= Amount_of_shopping:
    Purchased_goods.append(chitem)
    Amount_of_shopping-=chitem[1]
    print("您购买的 %s 已添加到购物车,您当前余额是 %s " %(chitem,Amount_of_shopping) )
    else:
    print("您的余额不足,请充值后再来!!!")
    else:
    print("您选择的商品不存在")
    elif chioce == 'q':
    print("---------------------------PURCHASED GOODS ----------------------------")
    for i in Amount_of_shopping:
    print(i)
    print("您当前余额是",Amount_of_shopping)
    exit()
    else:
    print("您输入有误,请核对后再次输入")

    '''
    这是一个较为综合的练习,将之前介绍的基础知识for循环,if判断,while循环等与列表部分的知识进行了融合,希望大家多多练习。
    思路
    #获取商品列表,也可以使用列表索引的方式实现

    for item in List_of_commodities:

    print(List_of_commodities.index(item),item)

    将输入的购物金额强制转换为整数

    #判断用户输入的范围在商品列表内且是整数
    #判断是否买的起
    #将已购商品加入购物列表,即购物车,同时计算余额

    isdigit()方法检查字符串是否只包含数字(全由数字组成)。
    语法
    以下是isdigit()方法的语法:
    ?
    1
    str.isdigit()
    参数
    NA
    返回值
    如果字符串中的所有字符都是数字,并至少有一个字符此方法返回true,否则返回false。

    enumerate函数说明:
    函数原型:enumerate(sequence, [start=0])
    功能:将可循环序列sequence以start开始分别列出序列数据和数据下标
    即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标
    举例说明:
    存在一个sequence,对其使用enumerate将会得到如下结果:
    start sequence[0]
    start+1  sequence[1]
    start+2 sequence[2]......
    '''

关键字