Skip to content
Snippets Groups Projects
Commit cef51c67 authored by Alma Berisha's avatar Alma Berisha
Browse files

Tests von Muhamed hinzugefügt

parent 510c8c75
No related branches found
No related tags found
No related merge requests found
import unittest
def convert(n: int) -> str:
roman_numerals = {
1000: "M", 900: "CM", 500: "D", 400: "CD",
100: "C", 90: "XC", 50: "L", 40: "XL",
10: "X", 9: "IX", 5: "V", 4: "IV", 1: "I"
}
result = ""
for value in sorted(roman_numerals.keys(), reverse=True): #Schleife, die über die Schlüssel (die Dezimalzahlen) des roman_numerals-Dictionaries iteriert und in absteigender reienfolge zurück gibt durch value nimmt in jeder Iteration den Wert des nächsten sortierten Schlüssels an
while n >= value: #Dies startet eine while-Schleife, die so lange ausgeführt wird, wie der Wert von n größer oder gleich dem aktuellen value (der Dezimalzahl) ist
result += roman_numerals[value] #fügt die entsprechende römische Ziffer (den Wert aus dem roman_numerals-Dictionary) zur result-Zeichenkette hinzu.
n -= value # aktuelle value - n
return result
class TestRomanConverter(unittest.TestCase):
def test_1(self):
self.assertEqual(convert(1), "I") # Erwartet "I" für 1
def test_10(self):
self.assertEqual(convert(10), "X") # Erwartet "X" für 10
def test_21(self):
self.assertEqual(convert(21), "XXI") # Erwartet "XXI" für 21
def test_50(self):
self.assertEqual(convert(50), "L") # Erwartet "L" für 50
def test_100(self):
self.assertEqual(convert(100), "C") # Erwartet "C" für 100
def test_1000(self):
self.assertEqual(convert(1000), "M") # Erwartet "M" für 1000
def test_1999(self):
self.assertEqual(convert(1999), "MCMXCIX") #Erwartet "MCMXCIX" für 1999
if __name__ == "__main__":
unittest.main()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment