LU10.A02: Syntaxfehler-2

Das Programm foreign_numerals 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()
  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

Marcel Suter

  • modul/archiv/m319python/learningunits/lu10/aufgaben/noten_fehler.txt
  • Last modified: 2023/11/13 08:56
  • by 127.0.0.1