Python3学习笔记4:Tuple元组、条件语句、list列表----实现购物车程序(老男孩)

学习Python3,坚持每一次学习都有一点点知识的积累,瞄准目标gogogo!这次仍然是练习,增加了元组的使用,使用了很简单的判定是否为数字的方法(题目源自老男孩)

购物车程序:
  输入工资;
  打印商品列表,根据编号选择商品;
  检测余额,做出对应的处理;
  随时退出。

先上代码:

#Author wsp

#商品数据,元组中套元组
goodstup = (("0", "IPhone", 8000), ("1", "kindle", 1000), ("2", "ipad air3", 4000), ("3", "cup", 100), ("4", "shoot", 500))

salary = int(input("plase put your salary:"))
#购物车存储工具
goos_choose =[]
while True:
    #打印出商品列表
    for goods in goodstup:
        print("{id}.{name}:{salnum}".format(id=goods[0], name=goods[1], salnum=goods[2]))
    choice = input("chose your goods ,'q' is exit>>>:")
    #判定是否为数字
    if choice.isdigit():
        #转换为数字
        choice = int(choice)
        #判定选择是否合法
        if choice >= 0 and choice < goodstup.__len__():
            if goodstup[choice][2] > salary:
                print("your salary is not enough! Only {salary} left!".format(salary=salary))
            else:
                print("add {goods} to your shopping cart ".format(goods=goodstup[choice][1]))
                goos_choose.append(goodstup[choice])
                salary = salary - goodstup[choice][2]
                continue;
        else:
            print("input error !")
            continue
    elif choice == 'q':
        print("your salary is  {salary} left!".format(salary=salary))
        print("you have brought blow:")
        for g in goos_choose:
            print(g[1])
        break
    else:
        print("input error !")
        continue

其中要点:
  1.商品列表使用tuple元组,元组中的元素不能修改,这里的商品没有修改的需求,所以使用元组
  2.购物车是动态变化的,使用list列表进行存储
  3.增加了一点点校验代码,使程序稍微形成一个闭环,如判定是否为数字、 输入数字不能大于元组的列表中元素个数。
注意:程序中未添加输入的salary的校验,这是一个没有考虑到的问题。
String.isdigit():
  系统自带的String.isdigit()的方法,该方法用于判定输入的字符串是否为纯数。如果是纯数,则返回True,否则返回False。
  这个方法不能判定浮点数,如果输入的是浮点数,会返回false;

元组:
  Python 的元组与列表类似,不同之处在于元组的元素不能修改。
  元组使用小括号 ( ),列表使用方括号 [ ]。
  元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
  创建元组示例如下:

>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>

需要注意的是,元组中如果只有一个元素,则要在元素后面添加逗号

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

元组数据的访问

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

注:元组相关材料,源自https://www.runoob.com/python3/python3-tuple.html

对Python有兴趣的朋友可以留言相互学习相互进步,加油!祝福浏览文章的每位朋友!

转发请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值