python中输入的平均值

python中输入的平均值,python,python-3.x,Python,Python 3.x,我在入门编程课上,我刚刚开始学习循环。我的问题是关于输入的平均值,它应该用while循环来完成。当用户输入end而不是数字时,表示循环结束并计算平均值。程序应该打印平均值并返回它。此外,如果用户未输入任何数字,直接输入结束,程序应打印“未输入任何数字”。我尝试创建循环,但我不知道我的循环运行缺少什么。 此外,我不允许使用任何内置函数,如sum、ave等 这是我到目前为止写的代码 def avgOfTheSum(): total = 0 avg = 0 count =

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

从我不太有经验的角度来看,有几点建议:

当你增加一个变量时,比如“total=total+num”,你可以用一种更简洁的方法来实现:使用“total+=num”做同样的事情,并简化你的代码。但是有些人觉得它很难看,所以如果你愿意,就用它吧

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

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

您可以添加类似的内容(不是python,不要这样编写)
如果计数=0 然后打印“未输入数字”
然后:
如果要退出应用程序,请中断
或者,如果要强制用户输入数字(强制执行新循环),请通过


希望对你有点帮助

从我不太有经验的角度来看,有几点建议:

当你增加一个变量时,比如“total=total+num”,你可以用一种更简洁的方法来实现:使用“total+=num”做同样的事情,并简化你的代码。但是有些人觉得它很难看,所以如果你愿意,就用它吧

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

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

您可以添加类似的内容(不是python,不要这样编写)
如果计数=0 然后打印“未输入数字”
然后:
如果要退出应用程序,请中断
或者,如果要强制用户输入数字(强制执行新循环),请通过


希望对你有点帮助

请分享你的代码,我猜你也不允许让别人帮你做作业,就像你在这里要求的那样。我们不为人们编写代码。阅读。你应该发布你的代码。我开始写我的代码,但我被卡住了,这是我唯一能想到的寻求帮助的地方。对不起,我只是想寻求指导。这是到目前为止我的代码。def avgOfTheSum():total=0 avg=0 count=0,而True:number=input(“输入下一个数字”):如果number!='结束“:num=float(number)total=total+num count=count+1 average=total/count else:print(“平均值为:”,average)break return average继续问你写作业时遇到的问题完全可以,但你应该用不同的方式来做。你会问“这是我的任务。这就是我所做的。为我完成它。”而不是那样,你应该确定哪个部分不起作用,试着理解为什么它不起作用(别忘了使用谷歌),如果你仍然被卡住,问类似“我希望这段代码能做X,但它能做Y。为什么?”请分享你的代码,我猜你也不允许让别人帮你做作业,就像你在这里要求的那样。我们不为人们编写代码。阅读。你应该发布你的代码。我开始写我的代码,但我被卡住了,这是我唯一能想到的寻求帮助的地方。对不起,我只是想寻求指导。这是到目前为止我的代码。def avgOfTheSum():total=0 avg=0 count=0,而True:number=input(“输入下一个数字”):如果number!='结束“:num=float(number)total=total+num count=count+1 average=total/count else:print(“平均值为:”,average)break return average继续问你写作业时遇到的问题完全可以,但你应该用不同的方式来做。你会问“这是我的任务。这就是我所做的。为我完成它。”而不是那样,你应该确定哪个部分不起作用,试着理解为什么它不起作用(别忘了使用谷歌),如果你仍然被卡住,问类似“我希望这段代码能做X,但它能做Y。为什么?”