Skip to content

Instantly share code, notes, and snippets.

@johnniehard
Created January 19, 2017 13:46
Show Gist options
  • Save johnniehard/d451a659243a36de7f2782dc09fcaee0 to your computer and use it in GitHub Desktop.
Save johnniehard/d451a659243a36de7f2782dc09fcaee0 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
## python 2.7
from math import *
while True:
try:
#n = '6103213499'
n = raw_input(u"Ange ett personnumer: ")
if(len(n) == 12):
n = n[2:]
print u"Du angav " + n + ". Kontrollerar..."
firstpass = ''
for i in range(len(n) - 1):
if(i % 2 == 0):
firstpass += str(int(n[i]) * 2)
else:
firstpass += n[i]
finalsum = 0
for i in range(len(firstpass)):
finalsum += int(firstpass[i])
ceilTen = int(ceil(int(finalsum) * 0.1) * 10)
control = ceilTen - int(finalsum)
if(int(n[-1]) != control):
raise ValueError(u"Inte ett giltigt personnummer!!! Försök igen.")
break
except ValueError as err:
print err.args
print firstpass
print finalsum
print ceilTen
print control
print u"Giltigt"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment