一个计算身份证号码校验位的Python小程序
S = Sum(Ai * Wi), i=0,.......16 (现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了)
Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下:
7 9 10 5
8 4 2 1
6 3 7 9
10 5 8 4 2
经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下:
0 ----- 1
1 ----- 0
2 ----- x
3 ----- 9
4 ----- 8
5 ----- 7
6 ----- 6
7 ----- 5
8 ----- 4
9 ----- 3
10 ----- 2
程序代码如下:
import sys Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7,9, 10, 5, 8, 4, 2] IndexTable = { #此处实际是无需使用字典的,使用一个包含11个元素的数组便可,数组中存放 0 : '1', #相应位置的号码,但是这也正好演示了Python高级数据结构的使用 1 : '0', 2 : 'x', 3 : '9', 4 : '8', 5 : '7', 6 : '6', 7 : '5', 8 : '4', 9 : '3', 10 : '2' } No = [] sum = 0 if (len(sys.argv[1:][0]) != 17): print "error number" sys.exit() for x in sys.argv[1:][0]: No.append(x) for i in range(17): sum = sum + (int(No[i]) * Wi[i]) Index = sum % 11 print "So, your indicates parity is : %s" % (IndexTable[Index])
运行程序方式如下:
#python getParity.py your-indentity-number-but-except-the-last-number
我的天啊,Python内置的数据结构是如此强大而易用,越来越为之而着迷啊,继续diving~
用函数封装一下,改进的代码如下:
import sys if __name__ != '__main__': print "Cannot run in module" sys.exit() Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7,9, 10, 5, 8, 4, 2] IndexTable = { 0 : '1', 1 : '0', 2 : 'x', 3 : '9', 4 : '8', 5 : '7', 6 : '6', 7 : '5', 8 : '4', 9 : '3', 10 : '2' } def check(identity): if(len(identity) == 0): print "please input your identity number" sys.exit() elif (len(identity[0]) != 17): print "error number" sys.exit() def calculate(identity): No = [] sum = 0 for x in identity[0]: #这个方法是很笨拙的,直接使用No = list(identity[0])便可达到同样的目的 No.append(x) for i in range(17): sum = sum + (int(No[i]) * Wi[i]) Index = sum % 11 return IndexTable[Index] check(sys.argv[1:]) result = calculate(sys.argv[1:]) print "So, your indicates parity is : %s" % (result)
忘记函数原型吧,这里不需要指明返回值类型,不需要指明形参数据类型。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Lors du traitement des données, il est souvent nécessaire d'extraire des informations dans un format spécifique à partir d'un texte. En tant qu’information personnelle relativement courante, le numéro d’identification est souvent utilisé dans le traitement des données. L'utilisation d'expressions régulières Python peut facilement extraire le numéro d'identification et effectuer certaines vérifications. Le numéro de carte d'identité est composé de 18 chiffres, dont la région, la date de naissance, le code de contrôle et d'autres informations contenues dans le numéro de carte d'identité. En Python, nous pouvons utiliser la fonction d'expression régulière du module re pour extraire le numéro d'identification. tête

Le numéro d'identité et le numéro de passeport sont des numéros de documents courants dans la vie des gens. Lors de la mise en œuvre de fonctions impliquant ces numéros de documents, il est souvent nécessaire d'effectuer une vérification du format des numéros saisis pour garantir leur exactitude. En PHP, des expressions régulières peuvent être utilisées pour réaliser cette fonction. Cet article explique comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est au format d'un numéro d'identification ou d'un numéro de passeport. 1. Vérification du numéro de carte d'identité Le numéro de carte d'identité est composé de 18 chiffres et le dernier chiffre peut être une lettre (code de contrôle). Son format est le suivant : les 6 premiers.

Le numéro d'identification est un outil de preuve d'identité que nous utilisons souvent dans notre vie quotidienne, et les informations d'anniversaire qu'il contient sont également très importantes. Lorsque nous utilisons PHP pour vérifier les numéros d'identification, nous devons souvent déterminer si les informations d'anniversaire sont correctes. Cet article explique comment utiliser les expressions régulières PHP pour vérifier les informations d'anniversaire du numéro d'identification. 1. Le format de base du numéro d'identification. Le numéro d'identification est une chaîne composée de 18 chiffres et lettres. Le dernier chiffre peut être un chiffre ou une lettre, et peut être en majuscule ou en minuscule. Les 17 premiers chiffres sont le propriétaire de la carte d'identité

Les cartes d'identité, les passeports et les numéros de laissez-passer de Hong Kong et de Macao sont tous des certificats d'identité personnels importants. Afin de garantir la sécurité des informations personnelles, nous devons vérifier dans le système si le numéro d'identification saisi par l'utilisateur est conforme au format standard. Les expressions régulières PHP sont un outil très puissant qui peut facilement atteindre cet objectif. Cet article explique comment utiliser les expressions régulières PHP pour vérifier le numéro d'identification, le numéro de passeport et le numéro de pass de Hong Kong et de Macao saisis par l'utilisateur. 1. Vérification du format du numéro de carte d'identité Le numéro de carte d'identité est un nombre à 18 chiffres et le dernier chiffre peut être un chiffre ou la lettre X. identité

Comment utiliser des expressions régulières en langage Go pour déterminer si une chaîne est un numéro d'identification légal. Le numéro d'identification est un identifiant unique pour chaque citoyen chinois et constitue également une base importante pour identifier les individus dans tous les aspects de la société. En traitement de données, il est souvent nécessaire de déterminer si une chaîne est un numéro d'identification légal. Cet article explique comment utiliser les expressions régulières dans le langage Go pour déterminer si une chaîne est un numéro d'identification légal. En langage Go, l'utilisation d'expressions régulières nécessite l'introduction du package regexp. Ce qui suit est une expression régulière pour déterminer le numéro d'identification

Le numéro de carte d’identité est un symbole important pour l’identification des résidents de notre pays et peut être utilisé à de nombreuses reprises pour vérifier l’identité. Dans l'application, afin de garantir la validité et l'exactitude du numéro d'identification, celui-ci doit être vérifié par des expressions régulières. Cet article explique comment utiliser les expressions régulières PHP pour vérifier la validité et le sexe du numéro d'identification. 1. La composition et les règles du numéro de carte d'identité Le numéro de carte d'identité est composé de 18 chiffres ou 17 chiffres plus un code de contrôle à 1 chiffre. Parmi eux, les 17 premiers chiffres représentent les informations du titulaire de la carte d'identité et le dernier chiffre représente le code de vérification, qui est utilisé pour vérifier la carte d'identité.

Dans le développement quotidien, il existe de nombreux scénarios dans lesquels les numéros d'identification doivent correspondre. Le numéro de carte d'identité a un format fixe, mais les règles de chaque province sont légèrement différentes, donc une expression régulière spécifique est nécessaire pour correspondre. PHP est un langage de programmation largement utilisé qui fournit des fonctions et des classes d'expressions régulières intégrées pouvant facilement correspondre aux numéros d'identification. Cet article explique comment utiliser les expressions régulières PHP pour faire correspondre les numéros de carte d'identité. Format du numéro de carte d'identité Le numéro de carte d'identité se compose de 18 chiffres et d'un code de contrôle, où le code de contrôle

Le numéro d'identification est un document d'identification très important dans nos vies. C'est également une information nécessaire que nous devons souvent remplir lors de diverses transactions commerciales. Par conséquent, lors du développement d’applications Web, il est très important de vérifier l’exactitude du numéro d’identification. En PHP, nous pouvons vérifier le format du numéro d'identification via des expressions régulières. Ci-dessous, nous présenterons en détail comment utiliser les expressions régulières pour vérifier le format du numéro d'identification. 1. Format du numéro de carte d'identité Le numéro de carte d'identité est composé de 18 chiffres et de la lettre X. Les 17 premiers d'entre eux sont
