¿Qué hice mal? El programa convierte los # arábigos a romanos pero el 6,7 y 8 (como uni, dec o cent) no se imprimen bien (todo lo demás funciona)

arab=0

arabmil=0

arabcen=0

arabdec=0

rom=””

arab=int(input(“Número árabigo: “))

while arab>=1 and arab<=5000:

if arab>=1000:     rom=(arab//1000)*"M"  if arab>=1000 and arab<=5000:     arabmil=(arab//1000)*1000     arab=arab-arabmil if arab>=900 and arab<1000:     rom=rom+"CM" if arab>=500 and arab<900:     rom=rom+"D"     arab=arab-500     rom=rom+(arab//100)*"C" if arab >= 400 and arab < 500:     rom = rom + "CD" if arab>=100 and arab<400:     rom=rom+(arab//100)*"C" if arab>=100 and arab<1000:     arabcent=(arab//100)*100     arab=arab-arabcent  if arab>=90 and arab<100:     rom=rom+"XC" if arab>=50 and arab<90:     rom=rom+"L"     arab=arab-50     rom=rom+(arab//10)*"X" if arab >= 40 and arab < 50:    rom = rom + "XL" if arab>=10 and arab<40:     rom=rom+(arab//10)*"X" if arab>=10 and arab<100:     arabdec=(arab//10)*10     arab=arab-arabdec  if arab>=9 and arab<10:     rom=rom+"IX" if arab>=5 and arab<9:     rom=rom+"V"     arab=arab-5     rom=rom+(arab*"I") if arab==4:     rom=rom+"IV" if arab>=1 and arab<4:     rom=rom+(arab*"I")   print("Número romano: %s" %rom) break