关于python的编码与解码decode()方法及zip()函数
作者:小邑走天下 时间:2022-04-04 15:15:54
先看示例
i=1
menu=["B超室","化验室"]
user="张来,黎明,常冒,赵薇,吉舜锋,辛叶,冲余力,余人明,傅山,岳宁琳,昌紫衫,笆莎莉"
usergroup=user.split(",")# 将用户信息按照“,”分割成usergroup列表
user1=usergroup[0::2]# 将usergroup列表中的奇数位用户放到列表user1
user2=usergroup[1::2]# 将usergroup列表中的偶数位用户放到列表user2
print("="*35)
print("电子科分组排队系统".center(25))
print("="*35)
print((menu[0] +" "+ menu[1]).center(25))
template="[}"
for item1,item2 in zip(user1,user2):
len1=len(item1.encode("gbk"))
len0=len(item1)
len3=round((len1-len0)/2)-1
# 按GBK编码格式输出计算用户姓名的长度
item3="A%03d"% i +" "+ item1
item4="B%03d"% i +" "+ item2
print (item3.ljust(18-len3 ) + item4)
i=i+1
输出结果
===================================
电子科分组排队系统
===================================
B超室 化验室
A001 张来 B001 黎明
A002 常冒 B002 赵薇
A003 吉舜锋 B003 辛叶
A004 冲余力 B004 余人明
A005 傅山 B005 岳宁琳
A006 昌紫衫 B006 笆莎莉
在 Python 中使用字符串对象的encode()方法来实现编码。 encode0 方法是字符串对象内置的一个实现方法用于实现编码操作。
语法格式如下:
str.encode([encoding[,errors]])
解码字符串则需要使用 bytes 对象的 decode0 方法来实现。
bytes.decode([encoding[,errors]])
参数encoding 表示要进行编码的字符格式,如果不指定该参数,则默认编码格式为UTF-8;
参数errors 用于指定错误的处理方式,它的值可以是 strict(遇到非法字符抛异常 )、ignore(忽略非法字符)、replace(用”?”替换非法字符)或xmlcharrefreplace( 使用XML 的字符引用)等,默认值为 strict。
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用“*”号操作符,可以将元组进行解压。
语法如下:
zip([iterable,…])
iterable:迭代器
返回值:元组列表
nmeney=[]
meney=[1.1674,1.1917,4.5521,0.1310,0.1487,0.1142]
chi=["港元","澳门元","台币","欧元","美元","英磅"]
eng=["HKD","MOP","TWD","EUR","USD","EBP"]
print("人民币最新汇率实时兑换价格")
for item1,item2,item3 in zip(meney,chi,eng): # 遍历由zip()函数打包生成的新列表
print("1人民币="+ str(item1) +"(" + item2+")" +item3 )# 输出人民币兑换各货币价格
print("")
many=input("请输入需要兑换的人民币金额:\n ") # 输入要兑换的货币数值
for item1,item2,item3 in zip(meney,chi,eng): # 遍历zip()函数打包生成的新列表
change =format(int(many)*item1,".0f") # 计算兑换的其他货币金额
print(many+"人民币= "+change + item2+"(" +item3+")" )
输出结果:
人民币最新汇率实时兑换价格
1人民币=1.1674(港元)HKD
1人民币=1.1917(澳门元)MOP
1人民币=4.5521(台币)TWD
1人民币=0.131(欧元)EUR
1人民币=0.1487(美元)USD
1人民币=0.1142(英磅)EBP
来源:https://blog.csdn.net/weixin_42133116/article/details/130222503