新的一天!昨日内容回顾+购物车系统的初步实现+字典的概念和基本操作

昨日内容回顾:

  列表:增删改查

        查找:切片问题    

        删除;   pop根据索引删除,删除的内容的值会返回

        count 计数

        extend 两个列表叠加,一次性追加多个值,a会变,b不会变

            用c=a+b           a和b都不会发生变化

        index  由内容找位置

        a.sort()

        b=sorted(a)              实现对a的从左到右的排序

今日内容:

元组:

  (12,)只有一个元素也要加   ","

a=(1,2,3,4)

print(a[1])

  元组只读不能修改  其他的和列表一样

 

购物车系统的设计思路:   

先介绍列表的嵌套:

1 #_auther_="stuwu79"
2 #date:2019/9/25
3 
4 # shopping_list=["Mac","Book","bike","kindle"]
5 a = [[1,2,3],"alex",4,(2,3,4)]
6 print(a[0][1])
7 #b=a[0]    b=[1,2,3]       b[1]            第6行与第7行意义相同

 介绍商品列表的构建:

 1 product_list = [
 2     ("Mac",9000),
 3     ("kindle",800),
 4     ("tesla",90000),
 5     ("python book",105),
 6     ("bike",3000)
 7 ]
 8 
 9 money = input("please input your saving :")
10 if money.isdigit():
11     saving = int(money)
12     for i in product_list :                        #或者替换为   for i in enumerate(product_list)
print(i)
13 print(product_list.index(i),i)

for i,v in enumerate(product_list,1):
                                                                  #加1默认从1开始,不然从0开始
print(i,"_______________",v)

 结果:

  1—————————(“Mac”,9000)

  。。。。。。。。。。。。

添加一个变量V使得商品列表分成两部分

 

列表的赋值操作:

1 a,b=[2,3]
2 print(a)
3 print(b)
4 
5 
6 结果: 2
7           3

基本功能都实现:

 1 #_auther_="stuwu79"
 2 #date:2019/9/25
 3 
 4 # shopping_list=["Mac","Book","bike","kindle"]
 5 # a = [[1,2,3],"alex",4,(2,3,4)]
 6 # print(a[0][1])
 7 #b=a[0]    b=[1,2,3]       b[1]
 8 product_list = [
 9     ("Mac",9000),
10     ("kindle",800),
11     ("tesla",90000),
12     ("python book",105),
13     ("bike",3000)
14 ]
15 shopping_car=[]
16 money = input("please input your saving :")
17 if money.isdigit():
18     saving = int(money)
19     while True:
20         for i,v in enumerate(product_list,1):#加1默认从1开始,不然从0开始
21             print(i,"____",v)
22 
23         choice = input("选择购买商品的编号[退出:q]")
24 
25         if choice.isdigit():
26             choice = int(choice)
27             if choice > 0 and choice <= len(product_list):
28 
29                 p_item =product_list[choice-1]
30 
31                 if p_item[1] < int(money):
32                     saving -= p_item[1]
33                     shopping_car.append(p_item)
34 
35                 else :
36                     print("余额不足,还剩%s"%saving)
37 
38             else :
39                 print("编码不存在")
40 
41         elif choice == "q":
42 
43             print("您已经购买如下商品:")
44 
45             for i in shopping_car:
46                 print(i)
47 
48             print("您还剩%s元钱"%saving)
49 
50             break
51         else :
52 
53             print("wrong input")

 查看内存地址:

    id(a)

字典的概念

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据,python对key进行哈希函数运算,根据结果觉得value的存储地址,字典是无序存储,且key必须可哈希(必须是不可变类型)

键唯一    

字典的创建:

  dic={"name":"alex",,,,,,,,}   

  dic2=dict((("name","alex")))

  

 

 

整型和字符串类型是不可变类型

   dic={"name":"alex","age":35,"hobby":"{"girl——name":"铁锤"}","is_handsome":True}

   print(dic)          #取出alex          dic["name"]            name就是键        不能用列表做键

   print(dic["name"])

对字典的操作:

赋值:

dic1={'name':'alex'}

dic['age'] = 18            #(键,有则修改,无则创建)

print(dic1)

 

结果:{'age':18,'name':'alex'}

dic1.setdefault('age',34)           

#setdefault方法尝试加入,如果 键无则创建并且加入此值且返回此值,如果 键存在则返回此键对应的原有值

查询:

查看字典中所有的键:

   print(dic3.keys())          此时取出的是keys类型可转换为list类型

                  list(dic3.keys())

  同理:

print(dic.values())                    取值

print(dic.items())                      取出所有键值对

修改:

dic3 = {'age':18,'name':'alex','hobby':'girl'}

dic3['age']=55

print(dic3)

结果:{'age':55,'name':'alex','hobby':'girl'}

dic3.update(dic4)                #将dic4加入dic3中,类似于列表的extend

#如果无相同键就全加入,如果有相同键就更新

 

删除:

del dic['name']               #删除指定键值对

del dic                             #删除整个字典

dic.clear()                        #删除字典的所有内容

dic.pop('age')             #按键删键值对,且返回值

dic.popitem()                   #随机删除某个键值对且返回值

 

 

 

其他操作:

  dic6 = dict.fromkeys(['host1','host2','host3'],'test')           #初始化,使得所有host键对应的值都是test

       字典的嵌套

 

  dic={

     {}

                  {}

     {}

}

 

排序:

print(sorted(dic.values()))                #对字典里的值进行排序

print(sorted(dic))                #对字典里的键按ascll码进行排序

print(sorted(dic.items()))                #对字典的键进行

 

 

 

字典的遍历:

 for i in dic:

  pring(i)               #打印出来键

for i in dic :

  print(i,dic5[i])    #通过键找值然后打印出来                                    优先此方法

for i in dic.items() :

  print(i)               #打印键值对

 

posted @ 2019-09-26 22:49  戚玖  阅读(165)  评论(0编辑  收藏  举报