使用if块

时间:2017-07-27 18:01:10

标签: python

我是一名喜欢编码的学生,所以我开始使用codeacademy。我已经完成了Javascript,现在正在启动python。但我的代码不起作用。

     #Make sure the function the_flying_circus returns True       
     def the_flying_circus(s):
if s == "yes":
    return "blah"    
elif s == "no" or "nai":
    return "blegh"
else:
    return "i do not understand"

请帮助

2 个答案:

答案 0 :(得分:0)

也许这个:

def the_flying_circus(s):
    if s == "yes":
        return "blah"    
    elif s == "no" or s == "nai":
        return "blegh"
    else:
        return "i do not understand"

下次请解释什么不起作用

答案 1 :(得分:0)

  1. 修复缩进。 python中的缩进是至关重要的。没有它,您的代码就不会运行。小心你的缩进并养成习惯。

    函数内的任何代码必须缩进+1级深度:

    def function(args):
        ... // statement 1
        ... // statement 2
    
    1. elif s == "no" or "nai":是有效代码,但在语义上不正确。您想要检查s value1 还是 value2 。 python实际上理解的是:

      elif (s == "no") or "nai":
      

      这被解释为:s等于nonai等于True?因为,在python中,非空字符串和容器的真值为True

      这就是你需要的:

      elif (s == "no") or (s == "nai"):
      

      或者,甚至更好,

      elif s in {"no", "nai"}:
      

      in运算符测试成员资格。

      1. 最后,打电话给你的功能。如果你不打电话给你的功能,它就不会运行。
      2. 总而言之,这就是你所需要的:

        def the_flying_circus(s):
            if s == "yes":
                return "blah"    
            elif s in {"no", "nai"}:
                return "blegh"
            else:
                return "i do not understand"
        
         print(the_flying_circus('yes')) # blah