【问题标题】:average value of inputs in pythonpython中输入的平均值
【发布时间】:2016-10-30 17:54:35
【问题描述】:

我正在学习编程入门课程,并且刚刚开始学习循环。我的问题是关于输入的平均值,它应该用 while 循环来完成。当用户输入 end 而不是数字时,表示循环结束并计算平均值。程序应该打印平均值并返回它。另外,如果用户没有输入任何数字而直接输入end,程序应该打印“No numbers were entered”。我尝试创建循环,但我不知道我的循环运行缺少什么。 另外,我不允许使用任何内置函数,如 sum、ave 等。

这是我目前写的代码

def avgOfTheSum(): 
    total = 0 
    avg = 0 
    count = 0 
    while True: 
        number = input("Enter next number:") 
        if number != 'end': 
            num = float(number) 
            total = total + num 
            count = count + 1 
            average = total/count 
        else: 
            print("The Average is:",average) 
            break 
    return average

【问题讨论】:

  • 到目前为止请分享您的代码
  • 我猜你也不允许要求其他人为你做作业,就像你在这里问的那样。我们不为人们编写代码。阅读this
  • 你应该发布你的代码。
  • 我开始编写我的代码,但我被卡住了,这是我唯一能想到寻求帮助的地方。对不起,我只是在寻找指导。到目前为止,这是我的代码。 def avgOfTheSum(): total = 0 avg = 0 count = 0 while True: number = input("输入下一个数字:") if number != 'end': num = float(number) total = total + num count = count + 1 平均 = 总数/计数 else: print("The Average is:",average) 打破平均回报率
  • 在 SO 上询问你在写作业时遇到的问题是完全可以的,但你应该以不同的方式来做。你问 “这是我的任务。这就是我所做的。为我完成它。” 而不是这样,你应该确定哪个部分不起作用,试着理解它为什么不起作用(不要不要忘记使用谷歌),如果你仍然卡住,问类似 “我希望这段代码执行 X,但它却执行 Y。为什么?”

标签: python python-3.x


【解决方案1】:

从我不那么有经验的角度来看一些提示:

当你增加一个变量时,例如。 'total = total + num',你可以用更紧凑的方式来做到这一点:使用'total += num',它做同样的事情并减轻你的代码。不过有些人觉得它很丑,所以如果你愿意的话,请使用它。

您首先声明了一个名为 'avg' 的变量,但后来又使用了 'average',这导致在尝试打印未定义的 'average' 时出错,因为第一个 'if' 语句被绕过了。 您应该使用一种命名来表示平均值。 'avg' 或 'average' 都可以,但请记住您的代码必须易于理解,因此尽量不要过多地压缩内容,尤其是当您完成后有人正在审查它时。 使用一个名字并坚持下去。这样,当用户输入您的代码未处理的内容时,您就不会出现错误。

您可以添加安全网以确保用户传递数字,但最简单的方法需要使用 python 内置。

你可以添加类似的东西(不是python不要这样写)
如果计数 = 0 然后打印'没有输入数字'
然后:
如果您想退出应用程序,请中断
或者如果你想强制用户输入一个数字(强制一个新的循环),则通过

希望对你有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多