-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroman_num.py
More file actions
48 lines (29 loc) · 1.23 KB
/
roman_num.py
File metadata and controls
48 lines (29 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
def roman_num(n):
M = ((n//1000)*"M")
D = "CM" if (n%1000) in range(900,1000) else ((n%1000)//500)*"D"
C = (
'CD' if (n%1000) not in range(900,1000) and (((n%1000)%500)//100) == 4
else '' if (n%1000) in range(900,1000)
else (((n%1000)%500)//100)*"C"
)
L = "XC" if (((n%1000)%500)%100) in range(90,100) else ((((n%1000)%500)%100)//50)*"L"
X = (
'XL' if (((n%1000)%500)%100) not in range(90,100) and (((((n%1000)%500)%100)%50)//10) == 4
else '' if (((n%1000)%500)%100) in range(90,100)
else (((((n%1000)%500)%100)%50)//10)*"X"
)
V = "IX" if ((((((n%1000)%500)%100)%50)%10)) == 9 else ((((((n%1000)%500)%100)%50)%10)//5)*"V"
I = (
'IV' if ((((((n%1000)%500)%100)%50)%10)) != 9 and (((((((n%1000)%500)%100)%50)%10)%5)) == 4
else '' if ((((((n%1000)%500)%100)%50)%10)) == 9
else (((((((n%1000)%500)%100)%50)%10)%5))*"I"
)
return(M + D + C + L + X + V + I)
# for n in range(100,120):
# print("#"*4 + str(n) + "#"*4 )
# print(solution(n))
# print('\n')
print(roman_num(4523)
)
# # if n == 5
# m = 'IV' if (((((((n%1000)%500)%100)%50)%10)%5)) == 4 else (((((((n%1000)%500)%100)%50)%10)%5))*"I"