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
- Akzeptieren Sie das Assignment im GitHub Classroom
- Klonen Sie ihr Repository in PyCharm.
- Korrigieren Sie den/die Fehler im Sourcecode.
- Führen Sie die Tests in
mark_test.py
aus. - Korrigieren Sie die Fehler, welche erst beim Ausführen entdeckt werden.
- 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