热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonday6

1、昨日内容回顾自己多练2、作业#作业#1,有如下变量(tu是个元祖),请实现要求的功能。tu(alex,[11,22,{k1:V1,k2

1、昨日内容回顾

自己多练

2、作业

# 作业# 1,有如下变量(tu是个元祖),请实现要求的功能。
tu= ("alex",[11,22,{"k1":'V1',"k2":["age","name"],"k3":(11,22,33)},44])
# a.讲述元祖的特性。
# 儿子不能改,孙子可能可以改
# b.请问tu变量中的第一个元素 “alex” 是否可被修改?。
# 不可以
# c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven" 。
# k2 对应的是一个列表,可以改,(元{字[列表]典}组)
# tu[1][2]['k2'].append('seven')
# print(tu)
# d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven" 。
# 元组,不能# 2,字典 dic,
dic= {'k1':'v1','k2':'v2','k3':[11,22,33]}
#a.请循环输出所有的key
for i in dic.keys():print(i)
#b.请循环输出所有的value.
for i in dic.values():print(i)
#c.请循环输出所有的key和value.
for k,v in dic.items():print(k,v)
for i in dic.items():print(i)
#d.请在字典中添加一个键值对,"k4": "v4",输出添加后的字典。
dic['k4'] = 'v4'
print(dic)
#e.请在修改字典中“k1” 对应的值为"alex",输出修改后的字典。
dic.setdefault('k4','v4')
print(dic)
#f.请在k3对应的值中追加一个元素44,输出修改后的字典。
dic['k3'] = [11,22,33,44]
print(dic)
#g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典。
dic1 = dic['k3']
dic1.insert(1,18)
dic['k3'] = dic1
print(dic)# 3、元素分类.
#有如下值 li = [11,22,33,44,55,66,77,88,99,90],
# 将所有大于66的值保存至字典的第一个key中。
# 将小于66的值保存至第二个key的值中。
# 即: {'k1': 大于66的所有值列表,'k2':小于66的所有值列表}
li = [11,22,33,44,55,66,77,88,99,]
dic = {}
l_greater = [] #大于66的所有列表
l_less = [] #小于66的所有列表
for i in li:if i == 66:continueif i > 66:l_greater.append(i)else:l_less.append(i)
dic.setdefault('k1',l_greater)
dic.setdefault('k2',l_less)
print(dic)# 4、输出商品列表,用户输入序号,显示用户选中的商品
# 商品li = ["手机","电脑","鼠标垫","游艇"]要求:
# 1,页面显示序号+商品名称,如:
# 1 手机
# 2 电脑
# ... ...
# 2,用户输入选择的商品序号,然后打印商品名称
# 3,如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 4,用户输入Q或者q,退出程序。
while 1:li = ["手机","电脑","鼠标垫","游艇"]for i in li:print('{}\t{}'.format(li.index(i)+1,i))num = input('请输入商品序号/输入 Q or q 退出:')if num.isdigit():num = int(num)if 0

3、python2 、python3 的区别

python 2:                                                                   python 3:

print()  print'abc'                      print('abc')

range() xrange() 生成器               range()

raw_input()                   input()

4、=    ==     is

=:把一个值赋值给另一个值

==:比较值是否相等

is: 比较,比较的是内存地址  id(内容)

li1 = [1,2,3]  li2 = li1  此时li1和li2 用的是否是一个内存地址

print(li1 is li2)  #is 是比较内存地址 结果为Ture

print(id(li1),id(li2))    # id 是查li1 及li2 的内存地址,结果相同

5、数字、字符串

小数据池:在一定程度上节省空间

数字范围:-5 —— 256

字符串:1、不能有特殊特殊字符

    2、s*20还是同一个地址,s*21以后都是两个地址

l1 = 6

l2 = 6

print(id(l1),id(l2))

剩下的:list dict tuple set 都没有小数据池概念

 6、编码

ascii:

  A:00000010 一个字节 8位

unicode:

  A:00000000 00000001 00000010 00000100 32位 四个字节

  中:00000000 00000001 00000010 00000110  32位 四个字节

utf-8:

  A:0010 0000  8位一个字节

  中:00000001 00000010 00000110  24位 三个字节

gbk:

  A:00000110  8位 一个字节

  中:00000010 00000110  16位 两个字节

(1)各个编码之间的二进制是不能相互是别的,会产生乱码。

(2)文件的储存传输不能是unicoide(只能是utf—8 utf—16 gbk gb2312 asciid 等)

python3:

    str 在内存当中使用unicode储存的。

    bytes类型

    对于英文:

        str:表现形式:s = 'alex'

          编码方式:010101010  unicode

        bytes:表现形式:s = b'alex'

           编码方式:000101010  utf-8 gbk

      对于中文:

        str:表现形式:s = '中国'

          编码方式:010101010  unicode

        bytes:表现形式:s = b'x\e91\e91\e01\e21\e31\e32'  三个字节表示一个中文

           编码方式:000101010  utf-8 gbk

# s = 'alex'
# s1 = b'alex'
# print(s,type(s))
# print(s1,type(s1))

# encode 编码,外部将 str-->bytes
# 内部将unicod——>utf-8、gbk ()内可以设置编码方式
s1 = 'alex'
s11 = s1.encode('utf-8')
s12 = s1.encode('gbk')
print(s11) # b'alex'
print(s12)s2 = '中国'
s22 = s2.encode('utf-8')
s23 = s2.encode('gbk')
print(s22)
print(s23)

  

# 购物车作业讲解
# 买家 卖家 商品 金钱
li = [{'name':'苹果','price':10},{'name':'香蕉','price':20},{'name':'西瓜','price':30},
]
# 把货物放在货架上
shopping_car = {}
print('欢迎光临大铁锤水果店')
money = input('让我看看你的钱')
if money.isdigit() and int(money)>0:while 1:for i,k in enumerate(li):print('序号{},商品{},价格{}'.format(i,k['name'],k['price']))choose = input('请输入你要购买的商品序号')if choose.isdigit() and int(choose) li[int(choose)]['price']*int(num):money = int(money)-li[int(choose)]['price']*int(num)if li[int(choose)]['name'] in shopping_car:shopping_car[li[int(choose)]['name']] = shopping_car[li[int(choose)]['name']] + int(num)else:shopping_car[li[int(choose)]['name']] = int(num)print('购物车中得商品有{},你的余额为{}'.format(shopping_car,money))else:print('穷鬼,回去跟你老婆要钱去')else:print('都说了是序号了')

  

转:https://www.cnblogs.com/mangoorangutan/p/11248479.html



推荐阅读
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • 本文介绍了如何使用Aspose库将Office文件(如Word、PowerPoint)转换为HTML文件,并详细说明了在转换过程中可能出现的乱码问题及其解决方案。 ... [详细]
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文详细介绍了如何使用Python的多进程技术来高效地分块读取超大文件,并将其输出为多个文件。通过这种方式,可以显著提高读取速度和处理效率。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
author-avatar
望学有所得
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有