本文主要是介绍f3 刷题——收获超多,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.如何将字符串转换成整型列表 string1= [int(x) for x in string1]
2.字符串里判别有没有数字:str.isdigit() 有没有大写字母 .upper 小写字母 .lower
3.每次按部就班的填入列表 列表.append()————>第一次填入列表[0] 在由此往后
fcount=0
info = {'0': 1, '1': 0, '2': "X", '3': 9, '4': 8, '5': 7, '6': 6, '7': 5, '8': 4, '9': 3, '10': 2}
quan = (7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)
cuo = []
m = 0n = int(input())#说明要输入几个
for j in range(n):stop = Falseidd = input() #依次输入身份证号id1 = idd[:-1] # 去除最后一位校验码,因为校验的时候不需要它# 确定输入的前17个是不是数字if not id1.isdigit(): #因为id1是字符串,所以在判断是不是数字时,可以直接调用isdigit函数,同样判断大小写有 isupper islowercuo.append(idd) #append函数就是依次放入列表的每个格子中fcount+=1continue #因为此时已经错了,没必要再继续了,所以跳过此次循环id1 = [int(x) for x in id1] # 将字符串转换为整数列表z1 = 0# 如果是数字,进行校验while not stop:for i in range(17):z1 += id1[i] * quan[i]z = z1 % 11if str(info[str(z)]) != idd[-1]: # 检查校验码是否匹配cuo.append(idd)fcount+=1break #这里的break是因为要跳出while,不是跳出for jif fcount == 0:print("All passed")
else:for item in cuo:print(item)
这篇关于f3 刷题——收获超多的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!