Python 3中的Elif和Else问题



我只是在练习我的Python技能,我正试图编写一个程序,将字母转换为我指定的特定数字。这部分代码给了我一个错误。我知道这可能是一件很小的事情,当你们向我指出问题时,我会觉得问这个问题很愚蠢。

这是代码:

num = input("Number is:")
    for digit in num:
        if (digit == "a" or "b" or "c"):
            digit = "2"
        elif (digit == "d" or "e" or "f"):
            digit = "3"
        elif (digit == "g" or "h" or "i"):
            digit = "4"     
        elif (digit == "j" or "k" or "l"):
            digit = "5"
        elif (digit == "m" or "n" or "o"):
            digit = "6"
        elif (digit == "p" or "q" or "r" or "s"):
            digit = "7"
        elif (digit == "t" or "u" or "v"):
            digit = "8"
        else (digit == "w" or "x" or "y" or "z"):
            digit = "9"

给出的错误:"语法错误:else(digit="w"或"x"或"y"或"z")::无,第1710行"。

非常感谢您的帮助。

else不接受条件。如果您想将digit=9缩小为wxyz,那么您也需要将其设置为elif

否则,

else:
    digit = "9"

进一步阅读您的代码,您的条件语句是不完整的。做这些检查的更好方法

if digit in ["a", "b", "c"]:

或者,为了更接近你的代码现在的样子:

if digit == "a" or digit == "b" or digit == "c":

最新更新