Files
Laboratori-PY/Laboratorio6/romaniToArabi.py
2024-03-22 17:01:42 +01:00

47 lines
917 B
Python

def valoreSingolo(cifra):
if cifra == "I":
return 1
if cifra == "V":
return 5
if cifra == "X":
return 10
if cifra == "L":
return 50
if cifra == "C":
return 100
if cifra == "D":
return 500
if cifra == "M":
return 1000
return 0
def romaniToArabi(romano):
rlist = list(romano)
totale = 0
while len(rlist) > 0:
if len(rlist) == 1 or valoreSingolo(rlist[0]) >= valoreSingolo(rlist[1]):
totale += valoreSingolo(rlist[0])
rlist.pop(0)
else:
totale += valoreSingolo(rlist[1]) - valoreSingolo(rlist[0])
rlist.pop(0)
rlist.pop(0)
return totale
def main():
uinput = input("Inserisci un numero romano: ")
print("L'equivalente in numeri arabi è", romaniToArabi(uinput))
if __name__ == "__main__":
main()