【问题标题】:Return variable from a function从函数返回变量
【发布时间】:2016-10-02 01:03:30
【问题描述】:

我正在编写的程序的这一部分应该采用随机选择,然后在函数外部打印(我无法从内部打印,因为我稍后需要该变量)。 我确信有一个简单的解决方案,但我不确定它是什么。

#python2
def CompTurn():
  RandTurn = [Column1,Column2,Column3,Column4]
  Choice = random.choice(RandTurn)
  return(Choice)
print Choice

谢谢。

【问题讨论】:

  • Choiceglobal还是local变量?...如果只用CompTurn函数定义,那么你不能在这个函数之外引用它。
  • >>>我无法从内部打印,因为我稍后需要该变量 - 如果您想要外部的值,您可以在函数内部打印变量并返回变量(变量包含的任何值)的功能。

标签: python python-2.7 variables return


【解决方案1】:

添加一行

Choice = CompTurn()

在您的打印声明之前。因为你在函数中声明的变量在函数之外是未知的,所以你必须将返回的变量存储(或直接打印,但不能存储)到一个新变量中。

【讨论】:

    【解决方案2】:

    你已经正确定义了你的函数,但你从未执行过它! (如果你让它打印一些诊断信息,你会看到。)你必须运行它才能得到结果:

    chosen = CompTurn()
    print chosen
    

    请注意,我使用了不同的变量名。您可以使用与函数中的变量相同的变量名称,但它仍然是与函数中的变量不同的变量。

    同样重要的是要意识到你的函数返回一个值,不是一个变量。您可以将值分配给变量(如上)或立即打印。

    print CompTurn()
    

    【讨论】:

      【解决方案3】:

      关于您的程序,return 不需要括号。这是语句,不是函数。

      def CompTurn():
        RandTurn = [Column1,Column2,Column3,Column4]
        Choice = random.choice(RandTurn)
        return Choice 
      

      更短:

      def CompTurn():
            RandTurn = [Column1,Column2,Column3,Column4]
            return random.choice(RandTurn)
      

      要打印返回值,可以将其保存在变量中并打印出来

      ret = CompTurn()
      print ret
      

      或者直接打印:

      print CompTurn()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-24
        • 2018-03-26
        • 1970-01-01
        • 1970-01-01
        • 2012-04-30
        • 2010-09-07
        • 2012-09-10
        相关资源
        最近更新 更多