Python学习_20171126_列表

列表其功能相当于c语言中的数组,可存放任何东西,基本使用语句是
 1 name = ['A','B','C','D','E']
 2 name2 = [1,2,3]
 3 name[0]#取出第一个
 4 name[-1]#取出最后一个
 5 name[0:2]#取出第1到3个
 6 name[2:]#取出第三个及以后
 7 name.insert(3,'G'#在第i个插入G
 8 name.expend('j')#在列表最后增加j
 9 name.remove('j')#移除name列表中j这个元素
10 num = name.count('A') #将列表中的A的元素个数赋值num
11 name.extend(name2)#将name2中的元素增加到name中
12 name.reverse()#将列表中的元素顺序翻转
13 name.sort()#将数组排序
14 name.pop(i)#将数组中的元素删除掉,默认删除最后一个元素
15 name.copy#将元素中的数据复制一份

当列表中嵌套数组时,copy默认只操作第一层,不会操作第二层,也就是说,copy仅仅是操作了列表的地址,而嵌套的列表存在了一个完全独立的地址,第一册列表中存放的仅仅是嵌套列表的地址,当取出这个嵌套的列表时,仅仅是将其地址取出来了

name = [1,2,[1,2,3,4],4,5]
name2 = name.copy
name[2][2]='A'
print (name2)#输出结果为[1,2,[1,2,'A',4],4,5],就是这么神奇

元组:不可变列表

name = (1,2,3,4,5,6)

 

下面是一个自己写的购物车的小程序,实现基本功能如下:

输入用户money;

创建购物清单;

购买商品;

打印商品和购物车。

 1 salary = input ('input your salary :')
 2 if salary.isdigit():#判断输入money对否
 3     salary = int(salary)
 4 else :
 5     exit('please input a right data')
 6 welcome_msg = ' welcome to xia shopping mall'.center(50,'-')#将欢迎词居中,两边‘-’装饰
 7 print(welcome_msg)
 8 product_list = [
 9     ('apple' , 699),
10     ('hesson' , 5999),
11     ('xiaomi' , 599),
12     ('huawei' , 899),
13     ('mac' , 8899),
14     ('pork' , 9.9),
15     ('pen' , 19.9),
16     ('cloth' , 999.9)
17 ]#创建商品列表
18 choise_list = []
19 exit_flag = False
20 while not exit_flag:
21     print('product list'.center(50,'-'))
22     for item in enumerate(product_list) :#遍历商品列表并打印出来,同时解决下标问题enumerate可以将列表中的数据增加下标
23         index = item[0]
24         p_name = item[1][0]
25         p_price = item[1][1]
26         print (index,'.',p_name,p_price)
27 
28     user_choise = input('press q to quit ,press l to print list ,what do you want to buy:')
29     if user_choise.isdigit():
30         user_choise = int(user_choise)
31         if user_choise < len(product_list):
32             p_item = product_list[user_choise]
33             if p_item[1] <= salary:
34                 salary = salary - p_item[1]
35                 choise_list.extend(p_item)
36                 print('you have buy',
37                       choise_list,
38                      'your salary is \033[31;1m$$$%s$$$\033[0m '%salary )给salary增加颜色\033[31;1m***\033[0m   其中31是红字白底32是绿子白底41是红底黑字,42是绿底黑字
39             else :
40                 print('you have not enougth money,choise any else')
41         else :
42             print ('input right number')
43     else:
44         if user_choise == 'q' or user_choise == 'quit':
45             print (choise_list,'in your shop car,your salary is\033[41;1m$$$%s$$$\033[0m'%salary)
46             print ('\033[42;1mwelcome the next time\033[0m'.center(50,'*'))
47             exit_flag = True
48         elif user_choise == 'l' or user_choise == 'list':
49             print (choise_list)

 

posted @ 2017-11-26 22:58  骨灰级帅锅  阅读(281)  评论(0编辑  收藏  举报