Python 3.x Python打印语句返回语法错误

Python 3.x Python打印语句返回语法错误,python-3.x,Python 3.x,我不知道为什么,但每次我尝试编译下面的python代码时,它都会突出显示我的print语句,并指出存在语法错误。我对所说的错误感到不知所措,我找不到其他有同样问题的人 >mode = input("Is you text in morse code? y/n") if(mode == y): print(" ") else: list = list(input("Enter English text:") for i in list if (i ==

我不知道为什么,但每次我尝试编译下面的python代码时,它都会突出显示我的print语句,并指出存在语法错误。我对所说的错误感到不知所措,我找不到其他有同样问题的人

>mode = input("Is you text in morse code? y/n")
if(mode == y):
    print(" ")
else:
    list = list(input("Enter English text:")
    for i in list
        if (i == "a")
            print("ewfew" if i == a")
            //print(".-", end=" ")
        if (i == "b")
            print("-...", end=" ")
         if (i == "c")
            print("-.-.", end=" ")
         if (i == "d")
            print("-..", end=" ")
         if (i == "e")
            print(".", end=" ")
         if (i == "f")
            print("..-.", end=" ")
         if (i == "g")
            print("--.", end=" ")
         if (i == "h")
            print("....", end=" ")
         if (i == "i")
            print("..", end=" ")
         if (i == "j")
            print(".---", end=" ")
         if (i == "k")
            print("-.-", end=" ")
         if (i == "l")
            print(".-..", end=" ")
         if (i == "m")
            print("--", end=" ")
         if (i == "n")
            print("-.", end=" ")
         if (i == "o")
            print("---", end=" ")
         if (i == "p")
            print(".--.", end=" ")
         if (i == "q")
            print("--.-", end=" ")
         if (i == "r")
            print(".-.", end=" ")
         if (i == "s")
            print("...", end=" ")
         if (i == "t")
            print("-", end=" ")
         if (i == "u")
            print("..-", end=" ")
         if (i == "v")
            print("...-", end=" ")
         if (i == "w")
            print(".--", end=" ")
         if (i == "x")
            print("-..-", end=" ")
         if (i == "y")
            print("-.--", end=" ")
         if (i == "z")
            print("--..", end=" ")
         if (i == "1")
            print(".----", end=" ")
         if (i == "2")
            print("..---", end=" ")
         if (i == "3")
            print("...--", end=" ")
         if (i == "4")
            print("....-", end=" ")
         if (i == "5")
            print(".....", end=" ")
         if (i == "6")
            print("-....", end=" ")
         if (i == "7")
            print("--...", end=" ")
         if (i == "8")
            print("---..", end=" ")
         if (i == "9")
            print("----.", end=" ")
         if (i == "0")
            print("-----", end=" ")
         if (i == " ")
            print("|", end=" ")

此代码无法编译,只返回无效的语法错误

您忘记了:对于if语句,您忘记了此行中打开的字符串printewfew if i==a,这会导致错误,并以这种方式在第一个if语句之后使用elif更有效

if statement1:
    ...
elif statement2:
    ...
else:
    ...

或者你可以为这项工作创建一个字典看看

哇,你的代码中有一些错误,所以我解决了它们:

mode = input("Is you text in morse code? y/n")
if (mode == 'y'):
    print(" ")
else:
    List = list(i for i in input("Enter English text:"))
    #There is no :
    for i in List:
        if (i == "a"):
            #print("ewfew") #Threre was an extra "
            print(".-", end=" ") #Commentaries in Python creates by #
        if (i == "b"):
            print("-...", end=" ")
        if (i == "c"):
            print("-.-.", end=" ")
        if (i == "d"):
            print("-..", end=" ")
        if (i == "e"):
            print(".", end=" ")
        if (i == "f"):
            print("..-.", end=" ")
        if (i == "g"):
            print("--.", end=" ")
        if (i == "h"):
            print("....", end=" ")
        if (i == "i"):
            print("..", end=" ")
        if (i == "j"):
            print(".---", end=" ")
        if (i == "k"):
            print("-.-", end=" ")
        if (i == "l"):
            print(".-..", end=" ")
        if (i == "m"):
            print("--", end=" ")
        if (i == "n"):
            print("-.", end=" ")
        if (i == "o"):
            print("---", end=" ")
        if (i == "p"):
            print(".--.", end=" ")
        if (i == "q"):
            print("--.-", end=" ")
        if (i == "r"):
            print(".-.", end=" ")
        if (i == "s"):
            print("...", end=" ")
        if (i == "t"):
            print("-", end=" ")
        if (i == "u"):
            print("..-", end=" ")
        if (i == "v"):
            print("...-", end=" ")
        if (i == "w"):
            print(".--", end=" ")
        if (i == "x"):
            print("-..-", end=" ")
        if (i == "y"):
            print("-.--", end=" ")
        if (i == "z"):
            print("--..", end=" ")
        if (i == "1"):
            print(".----", end=" ")
        if (i == "2"):
            print("..---", end=" ")
        if (i == "3"):
            print("...--", end=" ")
        if (i == "4"):
            print("....-", end=" ")
        if (i == "5"):
            print(".....", end=" ")
        if (i == "6"):
            print("-....", end=" ")
        if (i == "7"):
            print("--...", end=" ")
        if (i == "8"):
            print("---..", end=" ")
        if (i == "9"):
            print("----.", end=" ")
        if (i == "0"):
            print("-----", end=" ")
        if (i == " "):
            print("|", end=" ")

这是一行中的两个不同语法错误,其中一个语法高亮显示可以告诉您;不清楚你为什么认为这会起作用。如果i==a是语法错误,则print也是3.x.printewfew中的一个函数。特别是,ewfew if i==a不是有效的python表达式。编辑:除此之外,如果i==a缺少冒号,:,那么这也是一个语法错误。是的,在我试图找出print语句的错误时,我做了一些草率的更改,忘记将其更改回正确的语法代码。我最初在每个if语句后面都有冒号,但编译器告诉我要删除它们。最终有效的解决方案仍然没有冒号。相反,键似乎正在将变量的名称从一个列表更改为另一个列表?