diff --git a/other/AliciMuhamed/romannumber.py b/other/AliciMuhamed/romannumber.py
new file mode 100644
index 0000000000000000000000000000000000000000..2451762800ebc427cea38fd394891d764f0278ef
--- /dev/null
+++ b/other/AliciMuhamed/romannumber.py
@@ -0,0 +1,34 @@
+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