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有兴趣的朋友可以留言相互学习相互进步,加油!祝福浏览文章的每位朋友!

  转发请注明出处。

 

posted @ 2021-04-22 22:00  小时候的风和阳光  阅读(96)  评论(0编辑  收藏  举报