【问题标题】:The def function I called doesn't implement我调用的 def 函数没有实现
【发布时间】:2016-11-20 05:01:06
【问题描述】:

所以,我基本上是在尝试编写一个程序来计算五个数字的平均值。我调用了一个 def 函数,但它什么也没做。我在 cmd 上运行该项目,它就坐在那里并制作另一条输入线。 Bam,没有计算,没有任何东西。代码似乎没有问题,因为编译器没有指出一个问题。随意批评和粗鲁,这对我来说都很好。而且我是初学者,所以我可能犯了一些真正愚蠢的错误。 :)

numberNumber1 = input("Please enter 1st number.")
numberNumber2 = input("Please enter the 2nd number.")
numberNumber3 = input("3rd please")
numberNumber4 = input("4th now")
numberNumber5 = input("5th finally")

def mean (operation) :
operation = (numberNumber1/5 + numberNumber2/5 + numberNumber3/5 + numberNumber4/5 + numberNumber5/5)
final = "The mean of these 5 numbers is " + operation
print (final)
return ;

【问题讨论】:

  • 检查功能块是否正确缩进。
  • 这段代码毫无意义。
  • 你没有调用你的mean函数。不需要任何参数,改成def mean():,在文件底部加上mean()

标签: python function


【解决方案1】:

首先你的缩进看起来不对。 那么你不想将operation 作为参数,因为你正在计算它,参数应该是你的数字。或者可能什么都没有,而是将您的数字输入放在您的函数中(并且您需要在定义它之后调用它)。最后在 python 中没有; (并且这个return 语句不是必需的,尽管也不是问题)。

【讨论】:

    【解决方案2】:
    1. 你的缩进错误。

    2. 您实际上从未调用过该函数。

    3. input 返回一个字符串,因此您必须将数字转换为浮点数。

    4. 由于operation 是一个浮点数,您不能简单地将它连接起来以创建final 字符串。

    你的代码基本上应该改成这样:

    numberNumber1 = float(input("Please enter 1st number."))
    numberNumber2 = float(input("Please enter the 2nd number."))
    numberNumber3 = float(input("3rd please"))
    numberNumber4 = float(input("4th now"))
    numberNumber5 = float(input("5th finally"))
    
    def mean(numberNumber1, numberNumber2, numberNumber3, numberNumber4, numberNumber5):
        operation = (numberNumber1 + numberNumber2 + numberNumber3 + 
                     numberNumber4 + numberNumber5) / 5
        final = "The mean of these 5 numbers is {}".format(operation)
        print(final)
    
    mean(numberNumber1, numberNumber2, numberNumber3, numberNumber4, numberNumber5)
    

    【讨论】:

      【解决方案3】:

      这里有几个错误是一个修复。

      numberNumber1 = float(input("Please enter 1st number: "))
      numberNumber2 = float(input("Please enter the 2nd number: "))
      numberNumber3 = float(input("3rd please: "))
      numberNumber4 = float(input("4th now: "))
      numberNumber5 = float(input("5th finally: "))
      
      def mean(numberNumber1 ,numberNumber2,numberNumber3,numberNumber4,numberNumber5):
          # Parameters are not needed but in case you change variables now this won't break the function
          mean = numberNumber1 + numberNumber2 + numberNumber3 + numberNumber4 + numberNumber5
          mean = mean / 5
          print("The mean of these numbers is: " + str(mean))
      
      mean(numberNumber1,numberNumber2,numberNumber3,numberNumber4,numberNumber5);
      

      错误是:

      • 您从未调用过该函数
      • 函数缩进不正确
      • Python 无法将 int/float 转换为字符串而不被告知这样做会导致错误

      【讨论】:

      • 是的,刚刚意识到,可怕的缩进。谢谢哥们。我确实忘记调用该函数并在操作后将其转换为字符串。
      【解决方案4】:
      numberNumber1 = input("Please enter 1st number.")
      numberNumber2 = input("Please enter the 2nd number.")
      numberNumber3 = input("3rd please")
      numberNumber4 = input("4th now")
      numberNumber5 = input("5th finally")
      
      def mean() :
          operation = (numberNumber1/5 + numberNumber2/5 + numberNumber3/5 + \
          numberNumber4/5 + numberNumber5/5)
          print("The mean of these 5 numbers is %s" % operation)
          return operation;
      print(mean())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多