python中输入的平均值

时间:2016-10-30 17:54:36

标签: python python-3.x

我在介绍编程课,我刚开始学习循环。我的问题是关于输入的平均值,它应该用while循环来完成。当用户输入结束而不是数字时,表示循环结束并计算平均值。程序应打印平均值并将其返回。此外,如果用户没有输入任何数字并直接输入结束,程序应该打印"没有输入数字"。我尝试创建循环,但我不知道我的循环运行时缺少什么。 此外,我不允许使用任何内置函数,如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

1 个答案:

答案 0 :(得分:1)

从我那不经验的观点中得到的一些提示:

增加变量时,例如。 ' total = total + num',您可以采用更紧凑的方式:使用' total + = num'它做了完全相同的事情,并减轻了你的代码。有些人发现它很丑陋,所以如果你愿意,可以使用它。

您首先声明了一个名为' avg'的变量。但是你以后会使用“平均值”,这会在尝试打印“平均值”时导致错误。没有定义,因为第一个' if'声明被绕过了。 您应该使用一个命名平均值。无论是平均还是#39;或者'平均'没关系,但记住你的代码必须易于理解,所以尽量不要挤压太多东西,特别是如果有人在你完成时复习它。 使用一个名称并坚持下去。这样,当用户输入您的代码未处理的内容时,您就不会出现错误。

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

你可以添加类似的内容(不是python,不要这样写) 如果count = 0 然后打印'没有输入数字'
然后:
如果你想退出申请,请打破 如果你想强迫用户输入一个数字(强制执行一个新的循环),则传递

希望它对你有所帮助!