发布于2019-09-09 13:47 阅读(1192) 评论(0) 点赞(22) 收藏(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"
d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
2.字典dic , dic = {'k1':'v1',"k2":"v2","k3":[11,22,33]}
a.请循环输出所有的key
b.请循环输出所有的value
c.请循环输出所有的key 和 value
d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
e.请在修改字典中"k1"对应的值为"alex",输出修改后的字典
f.请在k3对应的值中追加一个元素44,输出修改后的字典
g.请在k3对应的值的第一个位置插入个元素18,输出修改后的字典
3.元素分类:
有如下值 li = [11,22,33,44,55,66,77,88,99,90],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二给key的值中
即:
{ 'k1' :大于 66 的所有值的列表,'k2':小于66的所有值列表}
4.输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机","电脑","鼠标垫",'游艇']
要求:
1:页面显示 序号 + 商品名称 ,如:
1.手机
2.电脑
...
2: 用户输入选择的商品序号,然后打印商品名称
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入
4:用户输入Q或者q,退出程序
"""
#1.
tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
# a.讲述元祖的特性
"""
元祖被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片仍适用于元祖
元祖的儿子不能被修改,孙子可以改
"""
# b.请问tu变量中的第一个元素"alex"是否可被修改?
#tu变量中的第一个元素不可以被修改。因为他是元祖,它的儿子一定是不能被修改的。
# c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
# k2对应的是列表类型,列表是可以被修改的
tu[1][2]['k2'].append("Seven")
print(tu)
# d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
# k2对应的是元祖类型,元祖是不可以被修改的
2.
字典dic , dic = {'k1':'v1',"k2":"v2","k3":[11,22,33]}
dic = {'k1':'v1',"k2":"v2","k3":[11,22,33]}
# a.请循环输出所有的key
for i in dic.keys():
print(i)
# b.请循环输出所有的value
print('________________')
for i in dic.values():
print(i)
# c.请循环输出所有的key 和 value
print('________________')
for i in dic.items():
print(i)
# d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
print('________________')
dic['k4'] = 'k4'
print(dic)
# e.请在修改字典中"k1"对应的值为"alex",输出修改后的字典
print('________________')
dic["k1"] = 'alex'
print(dic)
# f.请在k3对应的值中追加一个元素44,输出修改后的字典
print('________________')
dic["k3"].append(44)
print(dic)
# g.请在k3对应的值的第一个位置插入个元素18,输出修改后的字典
print('________________')
dic["k3"].insert(0,18)
print(dic)
3.元素分类:
有如下值 li = [11,22,33,44,55,66,77,88,99,90],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二给key的值中
即:
{ 'k1' :大于 66 的所有值的列表,'k2':小于66的所有值列表}
dicl = {'k1':[] ,'k2':[]}
li = [11,22,33,44,55,66,77,88,99,90]
for i in li:
if i > 66 :
dicl['k1'].append(i)
elif i < 66:
dicl['k2'].append(i)
print(dicl)
4.
输出商品列表,用户输入序号,显示用户选中的商品
商品
li = ["手机", "电脑", "鼠标垫", '游艇']
要求:
1:页面显示
序号 + 商品名称 ,如:
1.
手机
2.
电脑
...
2: 用户输入选择的商品序号,然后打印商品名称
store = input('please input the store list : ')
print(li[int(store) -1])
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入
4:用户输入Q或者q, 退出程序
li = ["手机", "电脑", "鼠标垫", '游艇']
for i in li:
print('{}.\t\n{}'.format(li.index(i) + 1, i))
while 1:
store = input('please input the store list : ')
if (store.upper() == 'Q'):
break
if int(store) < 1 or int(store) > 4:
print('输出有误,请重新输入')
continue
else:
print(li[int(store) - 1])
小知识点总结
python 2 和 python3
python2 :
1.print可以加括号,也可以不加括号,而python3必须加括号
2.range() 和 xrange() 生成器 , 而python3 只有range()
3.raw_input() 相当于python3中的input()
= : 赋值
== :比较值是否相等
is :比较的是内存地址 -> id(内容)
数字和字符串: -> 小数据池 (只有数字和字符串才有小数据池)
小数据池:
数字范围: -5 ~ 256
字符串范围:
1.不能含有特殊字符
2.s * 20 还是同一个地址, s * 21 就是两个地址
#eg.
# li1 = [1,2,3]
# li2 = li1
# print(id(li1))
# print(id(li2))
# print(li2 is li1) # is 产生的值是布尔类型
编码:
ASCII码:
A:00000010 8位 ,1个字节
unicode码:
A:00000000 00000001 00000010 00000100 32位 四个字节
中:00000000 00000001 00000010 00000100 32位 四个字节
utf-8:
A:0010 0000 8位 1个字节
中:00000001 00000010 00000110 24位 三个字节
gbk:
A:00000110 8位 一个字节
中:00000000 00000111 16位,两个字节
注意:
1.各个编码之间的二进制,是不能互相识别的,会产生乱码
2.文件的储存,传输,不能是unicode(只能是utf-8 ,utf-16,gbk.gb2312,ascii......)
python3X:
str 在内存中是使用unicode编码 (导致文件的传输不能直接进行)
bytes类型 ;也是一种数据类型。编码是以utf-8编码的 (在传输 str 的时候,需要将他转化成 bytes 在进行)
对于英文:
str :表现形式:s = 'alex'
编码方式:01010011 unicode
bytes:表现形式:s = b'alex'
编码方式:01010011 utf-8 ,jbk
对于英文:
str :表现形式:s = '中国'
编码方式:01010011 unicode
bytes:表现形式:s = b'x\e91\e91\e01\e21\e31\e32' ->(三个字节表示一个中文)
编码方式:01010011 utf-8 ,jbk
encode() : 编码,如何将str -> bytes ()里面可以设置编码方式
传输和存储必须是bytes类型
作者:3434erer
链接:https://www.pythonheidong.com/blog/article/104289/8a1cf60b4769d6e82a56/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!