LU08.A02: Syntaxfehler-2

Programmaufgabe

Das Programm wandelt Dezimalzahlen in römische Zahlzeichen um. Dabei wird die Subtraktionsregel (maximal 3 identische Zeichen, ausser M) berücksichtigt. Leider ist das Programm eine Sammlung von Syntaxfehlern. Manche werden direkt in der IDE erkannt, andere erst beim Ausführen.

def run():
    decimals = {1, 4, 5, 9, 10, 40, 50, 90,
                100, 400, 500, 900, 1000}
    numerals = {"I", "IV", "V", "IX", "X", "XL",
                "L", "XC", "C", "CD", "D", "CM", "M"}
    position = len(numerals - 1)
 
    number = user_input
    while number
    div = number // decimals[position]
    number %= decimals[position]
 
    while div:
        print(numerals(position), end="")
        div =- 1
    position -= 1
 
 
def user_input():
    input_string = input('Natürliche Zahl > ')
    while not input_string.isdigit():
        input_string = input('Eingabe muss eine natürliche Zahl sein > ')
    return int(input_string)
 
 
if __name__ == '__main__':
    main()

Vorgehen

  1. Akzeptieren Sie das Assignment im GitHub Classroom
  2. Klonen Sie ihr Repository in PyCharm.
  3. Korrigieren Sie den/die Fehler im Sourcecode.
  4. Führen Sie die Tests in mark_test.py aus.
  5. Korrigieren Sie die Fehler, welche erst beim Ausführen entdeckt werden.
  6. Wenn alle Tests erfolgreich sind: Commit & Push

⇒ GitHub Repo für externe Besucher

GitHub Repository https://github.com/templates-python/m319-lu08-a02-syntaxfehler-2

Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden

© Marcel Suter, Kevin Maurizi