Organisasjonsnummeret skal oppgis ved for eksempel opprettelse av en bankkonto, pa salgsfakturaer, henvendelser til offentlige myndigheter og økonomiske oppgaver som skal leveres pa vegne av organisasjonen.
def
mod11
(
text
,
length
=
8
,
weights
=
[
2
,
3
,
4
,
5
,
6
,
7
]):
"""
:param text: input tekst eller nummer for organisasjonsnummer
:param length: lengde, hvis funksjonen skal brukes til a kontrollere andre
nummer, feks. kontonummer
:param weights: liste over vekttallene som brukes til kontroll, kan endres
hvis funksjonen brukes til feks. konto
:return: kontrollsifferet, data type integer
"""
text
=
str
(
text
)
.
strip
()
digit_sum
=
0
for
index
,
value
in
enumerate
(
list
(
str
(
text
))[
length
-
len
(
text
)
-
1
::
-
1
]):
digit_sum
+=
int
(
value
)
*
weights
[
index
%
len
(
weights
)]
result
=
11
-
(
digit_sum
%
11
)
return
0
if
9
<
result
else
result
if
__name__
==
'__main__'
:
tester
=
[
971524960
,
974761270
,
997694317
,
994167642
,
917218765
,
982110777
]
for
test
in
tester
:
print
(
mod11
(
test
),
str
(
test
)[
-
1
:])