ryand
ryand

Reputation: 131

syntax error using "if and elif" in python

I'll try to make a python program, convert roman to number. I believe my logic for the program is correct, but I get syntax error. maybe someone want's help me to fixed my program.

this my whole program:

bil = int(input())
if(bil<1 or bil>99):
    print("no more than 3999")
else:
    while(bil>=1000):
        print("M")
        bil-=1000
        if(bil>=500):
            elif(bil>500):
                elif(bil>=900):
                    print("CM")
                    bil-=900
    else:
        print("D")
    while(bil>=100):
        if(bil>=400):
            print("CD")
            bil-400
        else:
            bil-=100
        if(bil>=50):
            elif(bil>=90):
                print("XC")
                bil-=90
        else:
            print("L")
            bil-=50
    while(bil>=10):
        if(bil>=40):
            print("XL")
            bil-=40
        else:
            print("X")
            bil-=10
        if(bil>=5):
            elif(bil==9)
            print("IX")
            bil-=9
        else:
            print("V")
            bil-=5
    while(bil>=1):
        if(bil==4):
            print("V")
            bil-=4
        else:
            print("I")
            bil-=1

I got syntax error in line :

elif(bil>500):

I need your opinion, thank you.

Upvotes: 0

Views: 70

Answers (1)

SAI SANTOSH CHIRAG
SAI SANTOSH CHIRAG

Reputation: 2084

It shouldn't be elif, it should if bil>500. Because, you are trying to create a nested if condition and not an if/elif/else condition. So the final code in that block should be:

if(bil>=500):
    if(bil>500):
        if(bil>=900):
            print("CM")
            bil-=900

Also, I don't understand why you are comparing bil>500 two times at the same time. You could remove one if statement there And there are many such if/elif blocks out there. You need to replace elif with if, if there is an indentation or you need to remove indentation for elif condition and write a condition for the if block too

Upvotes: 4

Related Questions