python マイナンバーのチェックデジット计算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python マイナンバーのチェックデジット计算相关的知识,希望对你有一定的参考价值。
def validate(mynum):
if type(mynum) == str:
if not mynum.isnumeric():
return "not numeric1"
elif not type(mynum) == int:
return "not numeric2"
mynum = str(mynum)
digits = list(mynum)
if(len(digits) != 12):
return "not length 12"
check_digit = int(digits.pop())
#print("digit:" + str(check_digit))
digits.reverse()
#print(digits)
s = 0
for n in range(1, 12):
p = int(digits[n-1])
q = n + 1 if (n<=6) else n - 5
s += p * q
#print("sum:" + str(s))
rem = s % 11
tgt = rem if(rem <=1) else 11-rem
#print("rem:" + str(rem))
if rem <= 1:
#print("check:0")
return check_digit == 0
else:
#print("check:" + str(11-rem))
return check_digit == (11 - rem)
print(validate(123456789010)) #=> false
print(validate(123456789011)) #=> false
print(validate(123456789012)) #=> false
print(validate(123456789013)) #=> false
print(validate(123456789014)) #=> false
print(validate(123456789015)) #=> false
print(validate(123456789016)) #=> false
print(validate(123456789017)) #=> false
print(validate(123456789018)) #=> true
print(validate(123456789019)) #=> false
以上是关于python マイナンバーのチェックデジット计算的主要内容,如果未能解决你的问题,请参考以下文章
javascript 英数字のチェック
javascript 连続した文字のチェック
テレワーク可/田町MySQLサーバーリソースチェック/問い合わせ対応業務
text git-commitのチェック#memo #git
html 年齢チェックのフォーム
markdown YUIS的イェットアナザーマイブログ