Перевод из арабских в римские числа
Начинающий только в пайтоне,помогите упростить програму,ибо понимаю что слишком много ифов,как это можно сделать проще? Прога работает (1-3999) но выглядит просто ужасно
line='';
line=int(input(line));
print(line);
line2="";
tysyach=line//1000%10 #M
sot=line//100%10 #C
desyat=line//10%10 #L
odynych=line%10 #I
if(tysyach!=None):
line2 = "M" * tysyach;
print(line2);
if(sot !=None):
if (sot == 9):
line2 += "CM"
elif (sot == 4):
line2 += "CD"
elif (sot > 4):
line2 += "D" + "C" * (sot - 5)
else:
line2 += "C" * sot;
print(line2);
if(desyat!=None):
if (desyat == 9):
line2 += "XC"
elif (desyat == 4):
line2 += "XL"
elif(desyat>4):
line2 += "L"+"X"*(desyat-5)
else:
line2+="X"*desyat;
if(odynych!=None):
if(odynych==4):
line2+="IV";
elif(odynych>5 and odynych<9):
line2+="V"+(odynych-5)*"I"
elif(odynych==5):
line2 += "V"
elif (odynych == 9):
line2 += "IX"
else:
line2+="I"*odynych;
print(line2);
Источник: Stack Overflow на русском