pta L1-016 查验身份证

2024-04-11 04:12
文章标签 l1 pta 身份证 查验 016

本文主要是介绍pta L1-016 查验身份证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

L1-016 查验身份证

分数 15

全屏浏览

切换布局

作者 陈越

单位 浙江大学

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:

首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:

Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2

现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。

输入格式:

输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。

输出格式:

按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed

输入样例1:

4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X

输出样例1:

12010X198901011234
110108196711301866
37070419881216001X

输入样例2:

2
320124198808240056
110108196711301862

输出样例2:

All passed

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

代码:

n = int(input())
arr = []
listNum = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
M = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2]
for i in range(0, n):s = str(input())sumNum = 0if s[0:-1:].isdigit():for j in range(0,17):mulNum = int(s[j]) * listNum[j]sumNum += mulNumdivNum = sumNum % 11if str(M[divNum]) != s[-1]:arr.append(s)else:arr.append(s)
if arr == []:print("All passed")
else:for i in arr:print(i)

这篇关于pta L1-016 查验身份证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893040

相关文章

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

Python批量读取身份证信息录入系统和重命名

前言 大家好, 如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。 实现过程概述: 模块与功能: re 模块:用于从 OCR 识别出的文本中提取所需的信息。 日期模块:计算年龄。 pandas:处理和操作表格数据。 PaddleOCR:百度的

贷款利率高低跟什么有关?仅凭身份证就能贷到款?额度是多少?

在金融的广阔舞台上,借款人的“信用基石”——即其综合资质,是决定贷款利率高低的决定性因素。这并非偶然,而是银行基于详尽的风险评估与收益预期所做出的精准判断。 需明确的是,贷款的易得性并不意味着无门槛的放任。它更像是设置了一个更为宽泛的准入标准,让多样化的借款人能够有机会尝试,但能否真正获得贷款,还需依据个人的经济实力、职业稳定性及信用历史的纯净度来综合评判。银行的核心考量始终在于确保资金的安

pta-2024年秋面向对象程序设计实验一-java

文章申明:作者也为初学者,解答仅供参考,不一定是最优解; 一:7-1 sdut-sel-2 汽车超速罚款(选择结构) 答案: import java.util.Scanner;         public class Main { public static void main(String[] arg){         Scanner sc=new Scanner(System

【机器学习 sklearn】模型正则化L1-Lasso,L2-Ridge

#coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timestart_time = time.time()import pandas as pd# 输入训练样本的特征以及目标值,分别存储在变量X_train与y_train之中。

AI基础 L1 Introduction to Artificial Intelligence

什么是AI Chinese Room Thought Experiment 关于“强人工智能”的观点,即认为只要一个系统在行为上表现得像有意识,那么它就真的具有理解能力。  实验内容如下: 假设有一个不懂中文的英语说话者被关在一个房间里。房间里有一本用英文写的中文使用手册,可以指导他如何处理中文符号。当外面的中文母语者通过一个小窗口传递给房间里的人一些用中文写的问题时,房间里的人能够依

【Python机器学习】核心数、进程、线程、超线程、L1、L2、L3级缓存

如何知道自己电脑的CPU是几核的,打开任务管理器(同时按下:Esc键、SHIFT键、CTRL键) 然后,点击任务管理器左上角的性能选项,观察右下角中的内核:后面的数字,就是你CPU的核心数,下图中我的是16个核心的。 需要注意的是,下面的逻辑处理器:32 表示支持 32 线程(即超线程技术) 图中的进程:和线程:后面的数字代表什么 在你上传的图片中,“进程:180” 和 “线程:3251”

016 交换网络的弹性设计与高可用性

引言 交换网络的弹性设计和高可用性对于保证企业网络的稳定运行至关重要。通过冗余架构、快速故障切换和优化配置,网络管理员可以显著提高交换网络的可靠性,减少宕机时间。本篇博文将探讨如何设计弹性的交换网络,并提供华为设备的实际配置示例。 1. 弹性交换架构设计:环网与冗余链路 在企业网络中,环网和冗余链路是实现弹性设计的基本手段。通过在关键网络节点之间建立冗余链路,网络可以在某一链路或设备发生故障

Node.js实名认证接口示例-身份证、银行卡、手机号实名认证

随着互联网的高速发展,人们可以发表言论的渠道越来越多。网络平台不断汲取各地、各人、各时发表的各种信息。人们喜欢将信息发布到微博、知乎、天涯、豆瓣等等网络平台,逐步的,网络信息进入大爆炸时代。这些大量涌现的信息中难免掺杂着一些不良信息,比如:虚假信息、污言秽语、违法违规信息的发布。这些信息充斥其中,严重影响了网络的环境。   若想拥有一片安全、绿色的网络环境,那么就要让所有人意识到自己需要承担

Python 3.6 api-ms-win-crt-runtime-l1-1-0.dll丢失

问题: Python 3.6安装或者运行时出现丢失api-ms-win-crt-runtime-l1-1-0.dll异常: 解决办法: 下载安装VC运行库即可。 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145&e6b34bbe-475b-1abd-2c51-b5034bcdd6d2=True 点击