0

私は次のコードで何も悪いことを見ることができません:

    elif choice == "2":
    while True:
        PhoneSearch = raw_input("What is their telephone number? : ")
        conn = sqlite3.connect('SADS.db')
        cur = conn.cursor()
        cur.execute("SELECT * FROM customers WHERE Telephone = (?)",(PhoneSearch,))
        row = cur.fetchone()
        if row:
            CustID = row[0]
            print "|------------------------------------------|"
            print "|Customer ID : " , row[0]
            print "|Forename : " , row[1]
            print "|Surname : " , row[2]
            print "|Address Line 1 : " , row[3]
            print "|Address Line 2 : " , row[4]
            print "|City : " , row[5]
            print "|Postcode : " , row[6]
            print "|Telephone number : " , row[7]
            print "|E-Mail : " , row[8]
            while True:
                print '|Do you want to see what seats', row[1]
                choice = raw_input("|Choice Y/N:")
                if choice == 'Y':
                    cur.execute("SELECT * FROM seats WHERE CustID = (?)", (CustID,))
                    rowseat = cur.fetchone()
                    if rowseat: # or if rowseat is not None, etc.
                        print "|Seats booked:" , rowseat[0]
                        print "|------------------------------------------|"
                        break
                    else:
                        print("database doesn't have correct info")
            else:
                print("Na")

それでも、上部のElifステートメントで構文エラーが発生します。なぜこれが起こっているのか、どこにエラーがあるのか​​教えてください。

4

1 に答える 1

3

Pythonは、、、またはステートメントelifの場合と同様に、ステートメントの後にインデントされたブロックを想定しています。あなたの例では、その後のすべてをインデントする必要があります。ifwhileelseelif

于 2013-02-21T00:24:05.070 に答える