购物程序练习

Posted Bo_Liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了购物程序练习相关的知识,希望对你有一定的参考价值。

import time

#商品列表,采用列表嵌套元祖方式
goods_list=[
    (\'水杯\',25),
(\'牙刷\',15),
(\'手机\',3500),
(\'耳机\',100),
]

#建立购物清单列表,备存购物清单
shop_list=[]
#输入工资总额
money=input(\'请输入购物金额:\')
#判断输入的工资是不是由数字组成,如果是,转换为整数型,如果不是,打印出错了!

if money.isdigit():
    money=int(money)

#循环
    while True:
         #index及enumerate的使用,打印商品列表及序号
        for index,i in enumerate(goods_list):
            # 用户输入商品序号
            print(index,i)
            # 判断用户输入的是不是数字类型,如果是,转换为整数型
        usr_select = input(\'请输入您要购买商品序号:\')
        if usr_select.isdigit():
            usr_select = int(usr_select)
            # 检测用户输入的数字是否小于商品列表及大于等于0
            if usr_select<len(goods_list)or usr_select>=0:
                #定义用户选择的商品
                select_goods=goods_list[usr_select]
                #检测如果用户选择的商品,价格小于等于工资,判断为买的起
                if select_goods[1]<=money:
                    # 向用户选择商品清单增加当前选择商品
                    shop_list.append(select_goods)
                    # 扣减当前购买商品的金额
                    money-=select_goods[1]
                    #打印购买当前商品成功,并显示当前余额
                    print(\'购买%s成功,您的余额为%d.\'%(select_goods[0],money))
                #如果当选择商品金额大于余额,则打印当前余额
                elif select_goods[1]>money:
                    print(\'您的余额只有%d,快去赚钱!\'%money)
            #如果输入的序号不存在,提示当前输入的序号错误,
            else:
                print(\'您输入的序号%s,不存在!请重新输入\'%usr_select)
            #如果用户输入Q 打印购物清单及余额,退出
        elif usr_select==\'q\':
            print(\'-----------购物清单-----------\')
            for P in shop_list:
                print(P)
            print(\'您的余额是%s\'%money)
            print
            t=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            print(t)
            exit()
            #输入不是数字类型的,直接报错
elif money.isalpha():
      print(\'您输入的不是数字!\')

 

知识点:

1.判断变量类型:money.isdigit():    是不是数字型  or  money.isalpha  是不是字母型

2.enumerate,在for中应用  

enumerate(sequence, [start=0])
>>>seq = [\'one\', \'two\', \'three\']
>>> for i, element in enumerate(seq):
...     print i, seq[i]
... 
0 one
1 two
2 three

3.len 返回字符串,列表,元组,字典长度值 从0计。

4.append 向列表 字典中增加值,位置在最后

5.打印清单,使用for    

for i in shop_list
    print(i)

可以将清单中内容打印出来

6.导入time模块  获取当前时间为:tim.strftime("%Y-%m-%d %H:%M:%S",time.localtime)

百分号后注意大小写

7.退出可以用exit()

 

总结:第一次写代码,按示例  先标明注释,再删掉代码,全部自己写,还是出现很多问题:

 

以上是关于购物程序练习的主要内容,如果未能解决你的问题,请参考以下文章

Python初学时购物车程序练习实例

购物车练习

购物程序练习

程序练习2:购物车程序

购物车程序练习

python-购物车程序练习