gpt4 book ai didi

python - 我的ee没有定义?我定义它。在这个 if 的 for 循环中

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:51 26 4
gpt4 key购买 nike

我的 Python 程序有一点问题。他们没有定义我的“ee”!

我的问题的代码

cursor = cnx.cursor()

read_ee = ("SELECT e_or_e FROM ITN "
"WHERE name = 'names' ")
cursor.execute(read_ee)
for(e_or_e) in cursor:
if(e_or_e == "exit"):
ee = "enter"
elif(e_or_e == "enter"):
ee = "exit"

print("EE is ", ee)

和错误

Traceback (most recent call last):
File "SQL3.py", line 43, in <module>
print("EE is ", ee)
NameError: name 'ee' is not defined

程序用于读取和写入我的 MySQL 数据库(MySQL 服务器位于其他计算机上,但如果我删除该片段就可以了!)

有人知道如何解决这个问题吗?我正在尝试一切!

最佳答案

ifelif 都不会计算为 True,因此它永远不会被定义:

for e_or_e  in cursor:
if e_or_e == "exit": # always False
ee = "enter"
elif e_or_e == "enter": # always False
ee = "exit"

print("EE is ", ee) # undefined

你可以在循环之前给它一个默认值:

ee = None
for e_or_e in cursor:
if e_or_e == "exit":
ee = "enter"
elif e_or_e == "enter":
ee = "exit"

# if ee is not None we assigned some value in the loop
if ee is not None:
print("EE is ", ee)

但是,如果您期望 if/elif 之一为 True,那么您可能需要调查为什么这种情况没有发生。

当您将字符串与元组进行比较时,您的代码实际上失败了,您可以做的是使用:

for e_or_e  in cursor:
if "exit" in e_or_e:
ee = "enter"
break
elif "enter" in e_or_e:
ee = "exit"
break
else:
# neither exit nor enter are returned

关于python - 我的ee没有定义?我定义它。在这个 if 的 for 循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36528476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com