首页 > 编程语言 > 详细

python开发学习笔记之二(购物车练习)

时间:2018-07-22 19:44:56      阅读:253      评论:0      收藏:0      [点我收藏+]

  

第二章 

二进制、字符编码、数据类型 :
二进制:省略
 字符编码:
 中文 GB2312  GBK   GB18030  
           BIG5(繁体)         
统一字符编码:unicode   utf-8
在python2中默认不支持中文,需要在开头声明编码格式为UTF-8
 
数据类型:
列表:
语法 [  ]
 列表是一个数据集合,集合内可以放各种数据类型
可以进行创建/查询/切片/增加/删除/修改/循环/排序
创建:
name = [zhangsan,lisi,wangwu,1,2,3,4,5,2,2]
查询:
name[0] #取列表第一个
name[-1] #取列表最后一个
name.index(wangwu) #元素的索引值,当有重复的元素时只会返回第一个元素的索引值
name.count(2) #对同一元素计数
切片:
name[0:2]
name[-5:-1]

#切片只能从左往右切
增加:
  追加:
name.append(2333)
  插入:
name.insert(2,wilbur)
  #在name[2]前插入元素‘wilbur’
替换(修改):
 name[3] = zzz
删除:
name.pop()  #删除末尾
name.remove(zhangsan)    #删除指定元素
del name[2]   #全局删除
del name[2:6] #切片删除
循环:
for i in name:
    print(i)
排序:
name.sort()   不同数据类型不能混排
排序规则为ASCII码顺序
倒序:
name.reverse()
扩展:
name+n2
name.expend(n2)
清空:
name.clear()
copy(文本复制):
n2 = name.copy()
列表练习:
循环列表names,打印每个元素的索引值和元素,当索引值为偶数时,把对应的元素改为-1
names = [zhangsan,lisi,wangwu,zhaoliu,shanshan,alex]
for index,i in enumerate(names):

    if index%2 == 0:
        names[index] = -1
    print(index, i)

print(names)
列表中包含多个2,返回第二个2的索引值
names = [zhangsan,lisi,wangwu,zhaoliu,shanshan,alex,3,45,24,6,2,546,2]
 
names2 = names[names.index(2)+1:] #获取第一个2的索引值后加一
print(names2.index(2)+names.index(2)+1) #打印第二个2的索引值

最后一个是购物车程序:

写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里, 最终用户输入q退出时,打印购物车里的商品列表
 1 # author:wilbur0402
 2 products = [[Iphone8, 6888], [MacPro, 14800], [小米6, 2499], [Coffee, 31], [Book, 80], [Nike Shoes, 799]]
 3 
 4 shopping_cart = []
 5 while True:
 6     print(------products list------)
 7     for index,i in enumerate(products):
 8         print(%s.%s    %s%(index,i[0],i[1]))
 9     chioce = input(请输入你需要购买的序号:(0-5))
10     if chioce.isdigit():
11         chioce = int(chioce)
12         if chioce >= 0 and chioce < len(products):
13             shopping_cart.append(products[chioce])
14             print(added %s to shopping cart!%products[chioce][0])
15         else:
16             print(商品不存在!)
17     elif chioce == q:
18         print(------你已购买以下商品------)
19         for index, i in enumerate(shopping_cart):
20             print(%s.%s    %s % (index, i[0], i[1]))
21         break
22     else:
23         print(输入有误!)

之前做这种题完全没有思路,各种需求混为一谈。在此我介绍一下我的方法:

1.先做出最基本的功能

  这个练习最基本的功能就是:打印商品列表——用户输入——打印输入购买的商品

 

2.增加循环功能:

  增加死循环,使其能不断询问用户

3.增加判断功能:

当用户输入为q时,退出并打印已购列表,或者当用户输入不正确时,返回信息

总结一句话就是:

基本功能——增加功能——完善功能

 

 

 

 

python开发学习笔记之二(购物车练习)

原文:https://www.cnblogs.com/wilbur0402/p/9351074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!