关于#python#的问题,请各位专家解答!

为什么这里结果会返回false?求解答
为什么这里结果会返回false?求解答

img

img

tables 结果里看似是元组,其实类型是 class 'pyodbc.Row' ,所以你用元组判断in操作永远是False,可以遍历判断

for row in tables:
    if row[0] == target:
        login_menu()
        user_select()
        break
else:
    print('首次登录!')

或者对tables做处理再用 in

tables = [row[0] for row in tables]
if target in tables:
    ...  
  • 您应该把“cursor.commit()”那行注释掉。
    截屏图片一

    img


    截屏图片二

    img


【以下回答由 GPT 生成】

对于Python中返回false的结果,可能有多个原因。以下是一些常见的原因和解决办法:

  1. 逻辑错误:代码中可能存在逻辑错误,导致结果为false。 请检查代码逻辑,确保条件和判断正确。

  2. 数据类型不匹配:可能存在数据类型不匹配的情况。例如,使用字符串做逻辑比较时可能会导致返回false的结果。确保数据类型的一致性。

  3. 代码BUG:代码中可能存在错误或缺陷,导致返回false的结果。请检查代码是否完整、正确。

  4. 库函数返回值:有些库函数的返回值可能是false,例如字符串查找函数str.find(),如果未找到匹配的子串,会返回-1,可以通过判断返回值是否等于-1来确定是否找到了。

以下是一个示例代码片段,展示了如何处理返回false的结果:

# 代码片段
num = 10
if num > 20:
    result = True
else:
    result = False

print(result)

在上面的代码中,我们对num进行了比较,如果num大于20,result的值为True,否则为False。这样我们可以根据结果进行后续的处理。

希望以上解答对您有所帮助!如果还有疑问,请随时提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^