Skip to content

Instantly share code, notes, and snippets.

@maakuth
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maakuth/5ad7e2a5fe5cf3c7e575 to your computer and use it in GitHub Desktop.
Save maakuth/5ad7e2a5fe5cf3c7e575 to your computer and use it in GitHub Desktop.
Henkilötunnuksen arvain.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Näyttää hetuvaihtoehdot syntymän, tarkisteen ja sukupuolen perusteella
import sys
tarkisteet = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y']
if len(sys.argv) < 3:
print ("%s <hetu> <tarkiste> [M|N]" % sys.argv[0])
exit(0)
syntyma = sys.argv[1]
tarkiste = sys.argv[2]
sukupuoli = -1
valimerkki = '-' #Oletetaan nyt 1900-luku tällä kertaa
if len(sys.argv) > 3:
if sys.argv[3].upper() == 'M':
sukupuoli = 1
else:
sukupuoli = 0
print "Syntymäajalla %s ja tarkisteella %s sallitut henkilötunnukset ovat:" % (syntyma, tarkiste)
for x in range (2, 899):
laajennettux = '%0*d'%(3,x)
if tarkisteet[(int(syntyma + laajennettux))%31] == tarkiste:
if sukupuoli == -1 or x % 2 == sukupuoli:
print ("%s%s%s%s" % (syntyma, valimerkki, laajennettux, tarkiste))
@maakuth
Copy link
Author

maakuth commented Aug 18, 2014

Tai tarkemmin sanottuna loppuosavaihtoehdot.

@vuoristo
Copy link

sys.argv[3].upper mun python versiossa pitää olla sys.argv[3].upper() että tuolta tulee oikeat stringit. Muuten on aina nainen

@maakuth
Copy link
Author

maakuth commented Aug 19, 2014

Korjattu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment