Python :: Aufgabe #256 :: Lösung #5

5 Lösungen Lösungen öffentlich
#256

Berechnen der Prüfziffer einer EAN- Nummer

Anfänger - Python von JKooP - 29.03.2020 um 13:53 Uhr
Schreibe ein Programm mit dem man sowohl die Prüfziffer einer EAN- Nummer (Europäische Artikel- Nummerierung) berechnen als auch überprüfen kann.

Die EAN- Nummer besteht aus 13 Ziffern, wobei es sich bei der letzten Ziffer um die Prüfziffer handelt.

Beispiel für eine EAN: 978381582086[?]

Die Prüfziffer wird berechnet, indem man die ersten 12 Ziffern von links beginnend abwechselnd mit 1 und 3 multipliziert und anschließend die Produkte summiert.

Die Differenz zum nächsten Vielfachen von 10 ist die Prüfziffer.

Ist die Summe durch 10 teilbar, ist die Prüfziffer die Ziffer 0.

9·1 + 7·3 + 8·1 + 3·3 + 8·1 + 1·3 + 5·1 + 8·3 + 2·1 + 0·3 + 8·1 + 6·3
= 9 + 21 + 8 + 9 + 8 + 3 + 5 + 24 + 2 + 0 + 8 + 18 = 115
115 + 5 = 120 ⇒ Prüfziffer: 5

Viel Spaß
#5
vote_ok
von cmb (190 Punkte) - 04.07.2020 um 13:25 Uhr
Quellcode ausblenden Python-Code
while True:
    try:
        eanstr = input("EAN eingeben: ")
        eanint = int(eanstr)
        break
    except ValueError:
        print("Keine Zahl!")
faktoren = [1,3,1,3,1,3,1,3,1,3,1,3]
sumprod = 0

for inx,val in enumerate(faktoren):
    sumprod += int(eanstr[inx])*val

pruefz = eanstr[len(eanstr)-1]
print("Die eingegebene Prüfziffer ist",pruefz,".")
pruefzber = abs((sumprod % 10) -10) % 10
print("Die berechnete Prüfziffer ist",pruefzber,".")

if int(pruefz) == pruefzber:
    print("Die EAN ist korrekt.")
else:
    print("Die Prüfziffer der EAN ist nicht korrekt.")

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben