私は2つの答えを比較しようとしています。質問の答えが "e"なら、CheckID関数を呼び出す必要があります。いくつかの情報。私はデータベースに接続することができますが、質問に答えると関数を呼び出さないという問題があり、「e」が定義されていないことがわかります!私はe = CheckID()を追加して定義しようとしましたが、まだ関数を呼び出さない。私はそれを達成するのに役立つか、私は私が間違って答えを比較して関数を呼び出す場合は、
をやって教えてくださいここに私のコードです:ここでは
import psycopg2
import psycopg2.extras
question = input("Type 'e' to Check Existing Id, or 'a' to add Account Id ? ")
if question == 'e':
CheckID()
else:
AddID()
def CheckID():
acc = input("Type ID ")
conn = psycopg2.connect(database="", user = "", password = "", host = "", port = "")
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
cur.execute('select "AccountID","Zip" from "Account" where "AccountID" = %s', (acc,))
ans =cur.fetchall()
ans1 = {}
for AccountID in ans:
if len(Zip) != 3:
Zip = '111'
print(AccountID, Zip)
else:
print(AccountID, Zip)
def AddID():
print "Thank you for using our script"
ask()
はで述べたように、私は
enter code here Type 'e' to Check Existing Id, or 'a' to add Account Id ? e
Traceback (most recent call last):
File "final7.py", line 4, in <module>
question = input("Type 'e' to Check Existing Id, or 'a' to add Account Id ? ")
File "<string>", line 1, in <module>
NameError: name 'e' is not defined
ファイルをPython 2で実行しています。ここで 'input()'は 'eval(raw_input(...)) 'と同じです。プログラムを次のように実行してください: 'python3 final7.py' – TerryA
ありがとう、うまくいきました。 raw_inputに変更して、質問の上に関数を配置した後!もう一度ありがとうございます – user3184562