【问题标题】:Can I continue an IF-ELSE statement through a function?我可以通过函数继续执行 IF-ELSE 语句吗?
【发布时间】:2017-11-08 01:11:24
【问题描述】:
def you ():
    gi=input("what up")
    if gi in ["Nothing much", "nothing much", "nothing"]:
        print("cool")

you()
elif gi in ["stuff"]:
    print("sounds good")

我显然不能这样做,但是在我正在处理的一个更大的程序中,我有一个使用两次的函数,但是根据用户输入,会发生不同的结果,所以我尝试包含我的大函数,比如上面的程序在整个函数中都有一个 if else 继续,因为根据人在程序中的位置,用户输入有不同的选项。

我只是想找出一个运行游戏的好方法,其中开头是相同的(功能),但是游戏可以以不同的方式进行,因此一个功能不会适用于所有它,所以我只是想知道我是否可以让 if else 语句像上面的小例子一样通过函数运行?

【问题讨论】:

  • 所有 if 语句都本地化到它们出现的块中。所以没有。
  • 所以当我提到一个更大的程序时,我不能这样做,而且由于每个函数都有不完整的 if else 语句,所以函数可能不是制作大型程序的最佳方式?
  • 函数对于大型程序非常有用(嗯,实际上是必要的)。您需要了解如何以正确的方式使用它们。编程主要是将问题细分为更小的部分,然后再细分为更小的部分,最后将最小的部分再次组合在一起(主要是函数,有时还有对象和其他东西)。

标签: python python-3.x function if-statement


【解决方案1】:

正如詹姆斯已经说过的,不,你不能在函数之外继续 if 语句。如果函数在更大的程序中有用,请参考您的问题:是的。您可以通过返回结果来使用在主程序中的函数或其他函数中生成的数据。例如:

def you ():
   gi=input("what up")
   return gi

result = you()
if result in ["Nothing much", "nothing much", "nothing"]:
   print("cool")
elif result in ["stuff"]:
   print("sounds good")

【讨论】:

  • 谢谢,帮助很大!只是为了澄清一下,当你输入“result = you()”时,这究竟是做什么的,是将 gi 的值设置为“you()”还是“result”?还是我真的想多了?
  • result = you() 将 gi 的值赋给变量 result,以便您可以在主程序中使用它。 you() 没有价值。它只是一个函数。
  • 谢谢!这很有帮助!我一定会用这个,所有回复这个的人都帮了我很多,谢谢大家!
  • 嗨,很抱歉再次打扰您,但是我在代码中完美实现了上述情况,但是无论“结果”最终是什么,you() 函数都继续运行,然后如果我正确输入了“结果”,运行了正确的程序,我真的很困惑,你有什么办法可以帮忙?
  • 我不确定我是否理解问题,但代码是一系列操作。 result = you() 中发生的情况如下:首先,您执行的函数的完整主体,即输入和输入返回到您的主程序中的变量结果。之后,在 if 语句中检查结果,根据结果,您有这两个输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
相关资源
最近更新 更多