====== 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//
{{tag>M319-LU08}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Marcel Suter, Kevin Maurizi