为什么此代码会产生语法错误?

时间:2017-03-27 13:13:32

标签: python csv

我遇到这个if语句的问题

while True:
    try:
        continue_shopping=int(input("press 0 to stop shopping and print your reciept or press 1 to continue shopping"))
    if continue_shopping !=0 and continue_shopping !=1:
        print(" make sure you enter 0 or 1")
    if continue_shopping !=1
    keep_searching = False
    if (continue_shopping == 0):
        fileOne.close()
        fileTwo = open("receipt.csv" , "r")
        reader = csv.reader(fileTwo)
        for row in reader:
            if row != None:
                print(row)
    elif continue_shopping==1:
        search_user_input()
        quantity()
quantity()

第五行产生无效的语法错误“if”以红色突出显示,我不确定为何会出现这种情况

2 个答案:

答案 0 :(得分:1)

你在条件结束时忘记了“:”。

if continue_shopping !=1:

编辑 - 第二个问题:当然您还有其他语法错误。 except之后你应该有一个try条款。在提出这样的问题之前,你真的必须阅读documentation

答案 1 :(得分:0)

if continue_shopping !=1:末尾的语法错误分号旁边(@ N0un指出

  • 修复缩进。没有try-if块。你应该缩进if条件
  • 重做你的ifs:它们会在错误情景中落空
  • 除了您的尝试之外缺少

例如:(这里没有python编译器,所以没有语法错误:)

while True:
    try:
        continue_shopping=int(input("press 0 to stop shopping and print your reciept or press 1 to continue shopping"))
        if continue_shopping !=0 and continue_shopping !=1:
            print(" make sure you enter 0 or 1")
            continue

        if (continue_shopping == 0):
            fileOne.close()
            fileTwo = open("receipt.csv" , "r")
            reader = csv.reader(fileTwo)
            for row in reader:
                if row != None:
                    print(row)
        else:
            search_user_input()
            quantity()
    except:
        print("whups some exception")