python之路——6
王二学习python的笔记以及记录
复习
增
dic['age'] = 21
dic.setfault()
删
pop
clear
del
popitem()
改
update
查
dic.key()value()item()
for k,v in dic.item():
print(k,v)
dic.get(key,None)
学习内容
1. =赋值 ==比较值 is 比较内存地址
2. id() 内存地址
3. 数字,字符串 小数据池
数字的范围: -5 -256 则共用一个内存地址
字符串:1.含有特殊字符,则不共用 2.s*20 为同一地址,s*21以后都是两个地址
剩下的 list dic set tuple 都是不同地址
4. 编码 ASCII码 A=一个字节=8位
unicode A=4个字节=32位
utf-8 A=1个字节=8位
中=3个字节=24位
gbk A=1个字节=8位
中=2个字节=16位
a各个编码之间的二进制,不能互相识别,会产生乱码
b文件的储存,传输,不能是unicode, 一般为utf-8 gbk等
python3中,str 在内存在使用unicode编码
bytes类型
英文:
str : 表现形式 : s= 'alex'
编码方式: unicode
bytes:表现形式 : s= b'alex'
编码方式: utf-8 等
中文:
str : 表现形式 : s= '中国'
编码方式: unicode
bytes:表现形式 : s= b'x\e91\e91\e01\e21\e31\e32'
编码方式: utf-8 等
代码区
1.字典操作练习
dic1 = {'k1': 'v1', 'k2': 'v2', 'k3':[11,22,33]}
for i in dic1.keys():
print(i)
for i in dic1.values():
print(i)
for i in dic1.items():
print(i)
dic1['k4'] = 'v4'
dic1['k1'] = 'alex'
dic1['k3'].append(44)
dic1['k3'].insert(0 , 18)
print(dic1)
2.分别保存<>66的元素到字典
li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
key = {'k1': [], 'k2': []}
for i in li:
if i > 66:
key['k1'].append(i)
elif i < 66:
key['k2'].append(i)
print(key)
3.输出打印产品列表,用户选择,按q 退出
prod = {1: '手机', 2: '电脑', 3: '鼠标垫', 4: '游艇'}
for k, v in prod.items():
print('{}\t\t{}'.format(k, v))
while 1:
num_choice = input('请输入商品序号')
if num_choice.upper() == 'Q':
break
elif num_choice.isdigit():
num_choice = int(num_choice)
print(prod.get(num_choice, "查无此货"))
else:
print("请输入正确的商品序号")
4.购物车
print('全场十元,欢迎光临')
prod = {1: {'name': '手机', 'price': 10},
2: {'name': '钱包', 'price': 10},
3: {'name': '钥匙', 'price': 10}}
for k, v in prod.items():
print('序号:{}\t商品:{}\t价格:{}'.format(k, v['name'], v['price']))
money = int(input('您的余额为:'))
money1 = money
flag = 1
while flag:
if int(money) > 0:
num_choice = input('请输入商品序号')
if num_choice.upper() == 'Q':
q = input('确认放弃本次购物请按Y,返回请按N')
if q.upper() == 'Y':
flag = 0
continue
else:
continue
elif num_choice.isdigit():
num_choice = int(num_choice)
if num_choice > 0 and num_choice <= len(prod):
num_buy = input('请输入购买个数')
if num_buy.isdigit():
num_buy = int(num_buy)
if money >= prod[num_choice]['price'] * num_buy:
money = money - prod[num_choice]['price'] * num_buy
print('您已购买{}{}个,余额为:{}'.format(prod[num_choice]['name'], num_buy, money))
else:
print('余额不足,余额为:{}'.format(money))
else:
print("请输入正确个数")
else:
print("请输入正确的商品序号")
else:
print("请输入正确的商品序号")
else:
print('您的余额不足请及时充费')
flag = 0
print("此次共消费{},剩余{}".format(money1-money, money))
python之路——6的更多相关文章
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- Python之路【第八篇】:堡垒机实例以及数据库操作
Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...
随机推荐
- Spring通知方法错误
错误提示,主要最后一句话 ,花了2个小时 org.springframework.beans.factory.BeanCreationException: Error creating bean ...
- Hibernate(二)
性能分析 抓取策略 研究对象 研究怎么样提取集合的,该策略应该作用与set元素上 研究从一的一方加载多的一方 案例 查询cid为1的班级的所有的学生 明:通过一条sql语句:左外链接,把classes ...
- C#窗体模拟键盘按键(组合键)产生事件 ---- 通过keybd_event()函数
如何模拟键盘按键触发产生的事件,比如模拟按下Alt + F4 关闭当前程序,Ctrl+Shift 切换输入法等 可以通过win32api 键盘事件 keybd_event() 来实现 1.定义键盘按键 ...
- Java多线程知识总结(一)
一.创建线程的三种方式: 创建线程的方式有三种,一是创建Thread实例,二是实现Runnable接口,三是实现Callable接口,Runnable接口和Callable接口的区别是一个无返回值,一 ...
- 关于svm
svm的研究一下,越研究越发现深入.下面谈一些我个人一些拙见. svm计算基础是逻辑回归(logistic regression),其实一切二元分类的鼻祖我觉得都是logistic regress. ...
- php调用c#的dll(转)
这几天,一直在做DES ecb模式的加解密,刚用.net实现了加解密,完了由于需要又要转型成PHP代码,费了九牛二虎之力单独用PHP没能实现,结构看到一篇php直接调用c#里生成的.dll文件的方法, ...
- java中length与length()
length是对数组而言的,指的是数组的长度. length()是对字符串而言的,指的是字符串所包含的字符个数. public class LengthDemo { public static voi ...
- 修改 spawn node.exe" ENOENT at notFoundError问题
Ionic server启动后,出现spawn node.exe" ENOENT at notFoundError ...\node_modules\cross-spawn\lib\enoe ...
- hanlp和jieba等六大中文分工具的测试对比
本篇文章测试的哈工大LTP.中科院计算所NLPIR.清华大学THULAC和jieba.FoolNLTK.HanLP这六大中文分词工具是由 水...琥珀 完成的.相关测试的文章之前也看到过一些,但本篇 ...
- RSA读取密钥——使用openssl编程
RSA是基于数论中大素数的乘积难分解理论上的非对称加密法.在此密码术中,使用公钥(public key)和私钥(private key)两个不同的密钥:公钥用于加密,它是向所有人公开的:私钥用于解密, ...