首页 > 解决方案 > Python 跳过 elif 语句

问题描述

我正在尝试编写一个程序,根据用户类型的输入打印字典中的值和键。当第 11 行的 elif 语句被跳过时,就会出现问题。if语句是否为假并不重要, elif语句会被跳过。我正在学习,所以我真的不知道我的错误在哪里。谢谢您的帮助!

areaM = {str(1) + " acre" : str(160) + " sq rods"}
linearM = {str(1) + " ft" : str(12) + " in", str(1) + " yd": str(3) + " ft"}

def displayConversion(conv):
    for k, v in conv.items():
        print(str(v) + " = " + str(k))
while True:
    print("Enter a conversion")    
    if input() == "Area Meassure":
        displayConversion(areaM)
    elif input() == "Linear Meassure":
        displayConversion(linearM)
    else:
        print("Conversion not available")

标签: pythonpython-3.x

解决方案


也许这是完整的代码(s太多inputs):

areaM = {str(1) + " acre" : str(160) + " sq rods"}
linearM = {str(1) + " ft" : str(12) + " in", str(1) + " yd": str(3) + " ft"}

def displayConversion(conv):
    for k, v in conv.items():
        print(str(v) + " = " + str(k))
while True:
    a=input("Enter a conversion\n")    
    if a == "Area Meassure":
        displayConversion(areaM)
        break
    elif a == "Linear Meassure":
        displayConversion(linearM)
        break
    else:
        print("Conversion not available")

推荐阅读