【问题标题】:Geometric mean-algorithm without package无包几何平均算法
【发布时间】:2019-10-19 22:36:00
【问题描述】:

我的任务是编写一个程序,该程序对于序列号给出几何平均值。我必须在没有任何包的情况下编写这个程序。 引入程序结束,当用户给一个0。 如果第一个数字是 0 并且用户给出一个负数,程序应该报错。

def sequence():
    prod=1
    i=-1
    x=1
    n = int(input("Give a number: "))
    while True:
        if n == 0:
            break
        elif i==0:
            print("Error")
        else:
            prod=prod*n
            i=i+1
            result=prod**(1/i)
            print(" Średnia wartośc ciągu ", result)
            return i, suma
            sequence()

我的程序没有返回任何东西。

【问题讨论】:

    标签: python-3.x mean


    【解决方案1】:

    我不想发布解决方案,我宁愿指出代码的几个问题。自己弄清楚它们将使您成为更好的编码器。你的算法有几个问题:

    1. 你最好从i=0开始
    2. elif i==0: 不会像您期望的那样工作,它必须是 if n==0: 下的 if i==0:,这样当您从用户那里获得 0 并在第一次迭代时打印 Error 时,您会退出循环.
    3. n = int(input("Give a number: ")) 必须在循环内,以便在算法的每次迭代中分配它。
    4. return i, suma 应该在 while 循环之外。

    【讨论】:

      猜你喜欢
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      相关资源
      最近更新 更多