[英]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.