繁体   English   中英

在 python 中使用“if and elif”的语法错误

[英]syntax error using “if and elif” in python

我将尝试制作一个 python 程序,将罗马数字转换为数字。 我相信我的程序逻辑是正确的,但我得到语法错误。 也许有人想帮助我修复我的程序。

这是我的整个程序:

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

我遇到了语法错误:

elif(bil>500):

我需要你的意见,谢谢。

它不应该是elif ,它应该if bil>500 因为,您正在尝试创建嵌套 if 条件而不是 if/elif/else 条件。 所以该块中的最终代码应该是:

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

另外,我不明白您为什么要同时比较bil>500两次。 你可以在那里删除一个 if 语句并且那里有很多这样的 if/elif 块。 如果有缩进,则需要将elif替换为if ,或者您需要删除elif条件的缩进并为if块编写条件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM