• Python: ISBN Prüfziffer berechnen
  • A. Weller - kreidezeit.kiwi
  • 19.01.2023
  • Informatik
  • 9
Um die Lizenzinformationen zu sehen, klicken Sie bitte den gewünschten Inhalt an.
ISBN Prüfziffer berechnen

"Die Internationale Standardbuchnummer ist eine Nummer zur eindeutigen Kennzeichnung von Büchern und anderen selbstständigen Veröffentlichungen  mit redaktionellem Anteil, wie beispielsweise Multimedia-Produkten und  Software."

Wikipedia

ISBN Ziffern liegen als ISBN 10 oder ISBN 13 vor.

Die Prüfziffer (zehnte Ziffer) der ISBN-Nummer berechnet sich wie folgt:

* Man multipliziere die erste Ziffer mit eins, die zweite mit zwei, die dritte mit drei und so fort bis zur neunten Ziffer, die mit neun multipliziert wird.  

* Man addiere die Produkte und teile die Summe ganzzahlig mit Rest durch 11.  

* Der Divisionsrest ist die Prüfziffer. Falls der Rest 10 beträgt, ist die Prüf-"ziffer" ein "X".

Python
isbn_o = int(input("9stellige ISBN - ohne Pruefziffer: "))
num0 = int(isbn_o) % 10
isbn_o = isbn_o /10
num1 = int(isbn_o) % 10
isbn_o = isbn_o /10
num2 = int(isbn_o) % 10
isbn_o = isbn_o /10
num3 = int(isbn_o) % 10
isbn_o = isbn_o /10
num4 = int(isbn_o) % 10
isbn_o = isbn_o /10
num5 = int(isbn_o) % 10
isbn_o = isbn_o /10
num6 = int(isbn_o) % 10
isbn_o = isbn_o /10
num7 = int(isbn_o) % 10
isbn_o = isbn_o /10
num8 = int(isbn_o) % 10
isbn_o = isbn_o /10
print(num0, num1, num2, num3, num4, num5, num6, num7, num8)
Hello World Pro­gramm
Ergänze den Code, so dass eine Prüfziffer ausgegeben wird.

num8 *1 + num7*2 + ...

pruefziffer = pruefsumme % 11

print(pruefziffer)

ISBN Prüfziffer berechnen

Lösung mit Hilfe einer for-Schleife und einer Liste:

Python
isbn_o = input('9stellige Zahl: ')
liste = [int(i)for i in str(isbn_o)]
die 9stellige ISBN in eine Liste schreiben.
Python
print(isbn_o)
print(liste)
kur­zer Test - Aus­ga­be der ein­ge­ge­be­nen Zahl, Aus­ga­be der Liste
liste[0]

Über diese Funktion kann auf - in diesem Fall - der erste Element der Liste zugegriffen werden.         liste[1] zweites Element usw.

Setze aus diesen Fragmenten

das Skript zusammen.

print(pruefziffer)

pruefziffer = pruefsumme % 11

pruefsumme =

liste[0]*1+liste[1]*2

x