为什么我的Python代码会在if else语句中阅读一些不应该读取的内容?[closed]

qvk1mo1f  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(107)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
5小时前关门了。
Improve this question
出于某种原因,我的代码执行了一些不应该运行的东西,比如if ... else语句中的东西。

if platform == "win32":
  if str(platform.release()) == "10" or str(platform.release()) == "11":
    print(f"{bcolors.WARNING}Welcome to {bcolors.BOLD}B Kernel{bcolors.ENDC}")
  else:
    print("Welcome to B Kernel.")
else:
  print(f"{bcolors.WARNING}Welcome to {bcolors.BOLD}B Kernel{bcolors.ENDC}")

return True

它运行该代码段的第三行,即使我在Windows 7上使用它。它应该运行第五行,但没有。
enter image description here
我把第一行从"Windows"改为"Win32",怀疑错误来自第7行,但它来自第3行,结果也是同样的错误。

dw1jzc5e

dw1jzc5e1#

第三行没有运行,运行的是第七行,和第三行一样,platform不等于"win32";platform很可能是platform module,它不等于字符串。
如果platform * 是 * "win32",那么当您试图调用platform.release()时,就会得到一个异常。

相关问题