【问题标题】:Python adding median to user to odd user inputPython将用户中位数添加到奇数用户输入
【发布时间】:2018-10-29 20:19:24
【问题描述】:

我正在尝试获取给定薪水的用户的中位数。是否容易实现到当前代码中?

 def Lista():

    values = []
    print("Give your salary from smallest number to largerst.")
    while True:
        sum1 = int(input("Give your salary (0 ends): "))

        if sum1 == 0:
            print("Salary average:",sum(values)/len(values))
            print("Salary minimum:",min(values))
            print("Salary maximum:",max(values))
            print("Salary median:",values[len(values)/2])
            return False

        else:
            values.append(sum1)

    return Lista

Lista()

我自己好像做不到。 我只会使用奇数的要求薪水

【问题讨论】:

  • 您正在覆盖sum 中的sum = int(input("Give your salary (0 ends): "))。所以它不会在代码后面做你期望的事情(sum(values))。
  • 感谢您的评论,它不是原始版本中的 sum 而是翻译(因此更容易阅读)并且没有注意到它被覆盖了。

标签: python input median


【解决方案1】:

这是获取解整数值和长度的一种方法;

int(values[int(len(values)/2)])

我还注意到平均来说它是唯一一个以 xxxx.0 结尾的,可以通过这样编辑它来编辑它与其他的相同;

int(sum(values)/len(values))

所以完整的代码应该是这样的

def Lista():

    values = []
    print("Give your salary from smallest number to largerst.")
    while True:
        sum1 = int(input("Give your salary (0 ends): "))

        if sum1 == 0:
            print("Salary average:",int(sum(values)/len(values)))
            print("Salary minimum:",min(values))
            print("Salary maximum:",max(values))
            print("Salary median:",int(values[int(len(values)/2)]))
            return False

        else:
            values.append(sum1)

    return Lista

Lista()

希望这会有所帮助:) E: sum 重叠,改为 sum1

【讨论】:

  • 谢谢,在我自己的版本中,我没有使用 sum,因为这是为了更容易理解问题而进行的翻译。感谢您的回复,现在可以使用了=)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 2016-07-17
  • 2015-10-05
  • 1970-01-01
相关资源
最近更新 更多