网站免费主机申请,网上自学电脑课程,海南信息港官网,怎么做企业网址数据类型的补充 # s1 中国 # b1 s1.encode(utf-8) # # print(b1)--------------b\xe4\xb8\xad\xe5\x9b\xbd utf-8 bytes ---gbk bytes # s2 b1.decode(utf-8) # # print(s2)---------------中国 # b2 s2.encode(gbk) #…数据类型的补充 # s1 中国 # b1 s1.encode(utf-8) # # print(b1)--------------b\xe4\xb8\xad\xe5\x9b\xbd utf-8 bytes ---gbk bytes # s2 b1.decode(utf-8) # # print(s2)---------------中国 # b2 s2.encode(gbk) # print(b2)------------------b\xd6\xd0\xb9\xfa 数据类型的补充 1元组 tu1 (laonanhai) tu2 (laonanhai,) print(tu1,type(tu1))-----------laonanhai class str print(tu2,type(tu2))-----------(laonanhai,) class tuple tu1 (1) tu2 (1,) print(tu1,type(tu1))-------------1 class int print(tu2,type(tu2))(1,) -----------class tuple 元组里面如果只有一个元素且没有逗号则该数据的数据类型与里面的元素相同 tu1 ([1, 2, 3]) tu2 ([1, 2, 3]) print(tu1, type(tu1))----------[1, 2, 3] class list print(tu2, type(tu2))----------[1, 2, 3] class list list l1 [111, 222, 333, 444, 555,] 索引为奇数对应的所有元素全部删除。 方法一 del l1[1::2] print(l1)--------------[111, 333, 555] 方法二错误演示 l1 [111, 222, 333, 444, 555, ]
for index in range(len(l1)):print(删除之前的index:%s % index)print(删除之前的l1:%s % l1)if index % 2 1:del l1[index]print(删除之后的index:%s % index)print(删除之后的l1:%s % l1)
print(l1)----------[111, 333, 444] ***在循环一个列表时最好不要改变列表的大小会影响你的最终结果倒着删除 for index in range(len(l1)-1,-1,-1):if index % 2 1:del l1[index]
print(l1)--------------------[111, 333, 555]dict
dic dict.fromkeys(abc,666)
print(dic)-----------------{a: 666, b: 666, c: 666}
dic dict.fromkeys([11, 22, 33],666)
print(dic)--------------------{11: 666, 22: 666, 33: 666}
dic dict.fromkeys([1, 2, 3], [])
dic[3].append(666)
print(dic)----------------------{1: [666], 2: [666], 3: [666]} ***在循环dict中最好不要改变dict的大小会影响结果或者报错。 dic {k1: v1, k2: v2,k3: v3,name: alex}
for i in dic:if k in i:del dic[i]
l1 []
for key in dic:if k in key:l1.append(key)
print(l1)
for key in l1:del dic[key]
print(dic)---------------------报错原因是字典在迭代过程中改变大小 数据类型的转换str-----------list splitlist---------str jointuple--------listtu1 (1, 2, 3)l1 list(tu1)print(l1)------------------[1, 2, 3]tu2 tuple(l1)print(tu2)----------------(1, 2, 3) dic-----------list list(dic)(列表中的元素只有key) dic {k1: v1, k2: v2,k3: v3,}l1 list(dic)print(l1)------------------------[k1, k2, k3]print(list(dic.keys()))------------[k1, k2, k3]print(list(dic.values()))------------[v1, v2, v3]print(list(dic.items()))---------------[(k1, v1), (k2, v2), (k3, v3)] 0, , [], () {} --- bool 都是Fasleprint(bool([0, 0, 0]))------------True 集合 集合本身是可变的数据类型不可hash有增删改查操作 集合中的元素必须是可哈希的不重复的可以去重 set集合是python中的一个基本数据类型 set中的元素是不重复的无序的里面的元素必须是可hash的intstrtuplebool set就是dict类型的数据但是不保存value day7——作业 1.判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数, 例如: 153 1**3 5**3 3**3 n input(请输入一个三位数:) # 156
s int(n[0])**3 int(n[1])**3 int(n[2]) ** 3
if int(n) s:print(是水仙花数)
else:print(不是) 2.给出一个纯数字列表. 请对列表进行排序(升级题).思路:1.完成a和b的数据交换. 例如, a 10, b 24 交换之后, a 24, b 102.循环列表. 判断a[i]和a[i1]之间的大小关系, 如果a[i]比a[i1]大. 则进行互换. 循环结束的时候.当前列表中最大的数据就会被移动到最右端.3.想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推.如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表. #① lst [88,5,8,6,1,23]for a in range(len(lst)): # 记录内部排序的次数 i 0 while i len(lst) - 1: # 把最大值移动到右端 if lst[i] lst[i1]: # 比较, lst[i], lst[i1] lst[i1], lst[i] # 交换 i i 1print(lst)#②lis[12,3,5,8,2,45,1]for n in range(len(lis)): for i in range(len(lis)-1): if lis[i]lis[i1]: lis[i],lis[i1]lis[i1],lis[i]print(lis) 3.完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.随机数:from random import randintrandint(0, 20) # 0 - 20 的随机数 from random import randint
lst []
n 1
c 0
a
while n 7:b randint(1, 36)if b in lst:continueelse:lst.append(b)n n1a a str(lst[c])c 1
print(开奖结果为%s % (a), end ) 4. 税务部门征收所得税. 规定如下: 1). 收入在2000以下的. 免征. 2). 收入在2000-4000的, 超过2000部分要征收3%的税. 3). 收入在4000-6000的, 超过4000部分要征收5%的税. 4). 收入在6000-10000的, 超过6000部分要征收8%的税. 4). 收入在10000以上的, 超过部分征收20%的税. 注, 如果一个人的收入是8000, 那么他要交2000到4000的税加上4000到6000的税加上6000到8000的税. 收入 8000-(4000-2000)*3%-(6000-4000)*4%-(8000-6000)*8%让用户输入它的工资, 计算最终用户拿到手是多少钱. num int(input(请输入你的工资:))
if num 2000:print(你的工资是%s%(num))
if 2000 num 4000:num - (num-2000)*0.03print(你的工资是%s % (num))
if 4000 num 6000:num - (4000-2000)*0.03-(num-4000)*0.05print(你的工资是%s % (num))
if 6000 num 10000:num - (4000-2000)*0.03-(6000-4000)*0.05-(num-6000)*0.08print(你的工资是%s % (num))
if num10000:num - (4000 - 2000) * 0.03 - (6000 - 4000) * 0.05 - (10000 - 6000) * 0.08-(num-10000)*0.2print(你的工资是%s % (num)) 转载于:https://www.cnblogs.com/-li926/p/9477726.html