关于python的问题如果条件

时间:2013-12-04 02:29:18

标签: python if-statement

http://i.stack.imgur.com/etfOX.png

问题1:if条件不起作用。每次退出时 问题2 :(对于范围内的i(1,ret [0] +1): NameError:名称'ret'未定义)

2 个答案:

答案 0 :(得分:2)

你的缩进似乎已经过时了。整个代码中的数量应该相同。 PEP 8建议有四个缩进空间。

您可能正在收到IndentationError


您似乎提到"Every time it quits"。这是预期。如果pp.quit()不等于action'stat''list',那么您的代码'retr'将退出该计划,这就是正在发生的事情。

答案 1 :(得分:0)

以下是您所拥有的简化版本:

action = ""
if action == "stat": # Not true, action == ""
    # stuff
elif action == "list": # Not true, action == ""
    # stuff
elif action == "retr": # Not true, action == ""
    # stuff
else: # Looks like this is where we will end up
    exit()

每次退出都不足为奇,因为你已经硬编码条件让它每次都退出。

您说如果删除action = "",则会NameErroraction未定义...这是因为您从未将其设置为任何内容......我不是确定你所期望的if块如何写。你需要这样的东西:

action = a_function_that_gets_info_from_user_and_returns_a_string()

这会将action设置为可能会通过if阻止的内容。


作为旁注,你不应该为你的问题做截图。相反,复制/粘贴;这是礼貌的事情。现在我必须手动输入您的代码来说明错误而不是自己复制它。