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

昨日内容回顾:

  列表:增删改查

        查找:切片问题    

        删除;   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)               #打印键值对

原文地址:https://www.cnblogs.com/stuwu79/p/11584056.html

时间: 2024-07-30 05:55:42

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

基本数据类型-集合(set)_上周内容回顾(列表_元组_集合)

上周内容回顾 字符串数字列表元组字典 可变不可变:1.可变:列表,字典2.不可变: 字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元组3.映射: 字典 存放元素个数:容器类型:列表,元组,字典原子:数字,字符串 set集合是一个无序而且不重复的集合,有些类似于数学中的集合,也可以求交集,求并集等 集合特性:1.不同元素组成2.无序3.集合中元素必须是不可变类型 1 class set(object): 2 """ 3 set() -> ne

云计算网络基础课程-----内容回顾

课程内容回顾: 网线: 直通线 交叉线 翻转线 - console 思科IOS快捷键: ctrl+A , 将光标快速移动到命令最前面: ctrl+E , 将光标快速移动到命令最后面: 设备管理方式: 本地管理 - 通过 console 口进行管理: 默认情况下,是不需要密码的: 远程管理 - 通过 vty 端口进行管理: 默认情况下,是需要密码的: @取消认证功能: @配置密码: 登录协议: PC>  telnet 192.168.1.2 网络设备的特殊服务: 以下服务,默认都是关闭的: Rou

Netty源码分析第4章(pipeline)----&gt;第7节: 前章节内容回顾

Netty源码分析第四章: pipeline 第七节: 前章节内容回顾 我们在第一章和第三章中, 遗留了很多有关事件传输的相关逻辑, 这里带大家一一回顾 首先看两个问题: 1.在客户端接入的时候, NioMessageUnsafe的read方法中pipeline.fireChannelRead(readBuf.get(i))为什么会调用到ServerBootstrap的内部类ServerBootstrapAcceptor中的channelRead()方法 2.客户端handler是什么时候被添加

PHP菜鸟学习历程-1 JS高级-34-昨天内容回顾

JS高级-34-昨天内容回顾     时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值)                                   具体元素节点对象 document.getElenmentsByTagName(tag 标签名称 div ul li)        数组列表 document.getElenmentsByName(Name 属性值)                       数组列表 2.

使用MongoDB和JSP实现一个简单的购物车系统

1 问题描述 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来获取用户提交的登录信息并查询数据库,如果用户名为本小组成员的名字且密码为对应的学号时,采用JSP内置对象的方法跳转到订购页面(显示店中商品的种类和单价等目录信息):否则采用JSP动作提示用户重新登录(注:此页面上要包含前面的登录界面). (3)当顾客填好所需商品的数量并点击提交按钮时,将前面订购的商品放

项目的设计、购物车系统

一.项目设计 1.项目的生命周期: 1.需求分析 2.项目设计 3.分任务开发程序 4.项目测试 5.上线运行 6.维护更新 2.经典的三层结构 1.用户界面(用户功能)层 : 接收用户数据 ,或者展示数据给用户 2.业务逻辑(接口)层: 处理用户界面层得到的数据,进行判断 验证 3.数据访问(数据处理)层(持久层) : 帮助业务逻辑层 保存数据 或是读取数据 与程序处理数据的三步刚好是对应 一个应用程序的本质,就是在帮用户处理数据,一定分为三步 1.用户通过某种方式将数据交给程序 (手机APP

Java开源内容管理CMS系统J4CMS集成到JTM

JTM是Win32下绿色免费的JDK + Tomcat + MySQL环境集成工具.通过JTM用户无需对JDK.Tomcat.MySQL进行任何安装和配置即可迅速搭建支持JSP + MySQL的服务器运行环境. 将编译后的j4cms 扔进了tomcat\webapps\ROOT下,直接集成进去了,可以不用再搭开发环境编译源码了,就可直接创建网站了,当然是在win环境下 百度网盘下载 http://pan.baidu.com/s/1ntjwdO9 有问题 群名称是j4cms内容管理 2618401

Java开源内容管理CMS系统J4CMS支持静态化直接ftp上传到你的空间了

页面可直接编辑的cms系统j4cms可以直接支持使用ftp 输出 html到你的空间了 真正的静态化 这是静态化后的网站 http://www.j4cms.com/ 源码上传至csdn了,可以下载源码 这是地址 http://download.csdn.net/detail/sdjn_jiangxiaobei/7576025 Java开源内容管理CMS系统J4CMS支持静态化直接ftp上传到你的空间了,布布扣,bubuko.com

python实现简单购物车系统(练习)

#!Anaconda/anaconda/python #coding: utf-8 #列表练习,实现简单购物车系统 product_lists = [('iphone',5000), ('computer',6000), ('girl_friend',2000), ('boy_friend',3000)] shop_lists = [] for i,v in enumerate(product_lists): #python的内置函数,在字典上是枚举,列举的意思,可以同事获得索引和值 print