Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何找到平均值?_Python_Average - Fatal编程技术网

Python 如何找到平均值?

Python 如何找到平均值?,python,average,Python,Average,我正在做一个程序,用一组数字求平均值。目前它可以工作,但我想知道是否有任何方法可以使它更容易或更干净。这是相当混乱和糟糕的。我是否可以使用循环或任何东西来简化它 NON = raw_input("How many numbers are there? ") NON = int(NON) if NON == 2: n1 = raw_input("First Number: ") n1 = int(n1) n2 = raw_input("Second Number: ")

我正在做一个程序,用一组数字求平均值。目前它可以工作,但我想知道是否有任何方法可以使它更容易或更干净。这是相当混乱和糟糕的。我是否可以使用循环或任何东西来简化它

NON = raw_input("How many numbers are there? ")
NON = int(NON)

if NON == 2:
    n1 = raw_input("First Number: ")
    n1 = int(n1)
    n2 = raw_input("Second Number: ")
    n2 = int(n2)
    mean = (n1 + n2)/2
    print mean
    print mean

在这之后一直持续到15岁。我只是手工做的。

试试功能。函数将对代码进行分组,并可用于多次调用

一个例子

def average(number1, number2):
    return (int(number1) + int(number2)) / 2


NON = raw_input("How many numbers are there? ")
NON = int(NON)

    if NON == 2:
        n1 = raw_input("First Number: ")
        n2 = raw_input("Second Number: ")
        print average(n1,n2)

尝试一个函数。函数将对代码进行分组,并可用于多次调用

一个例子

def average(number1, number2):
    return (int(number1) + int(number2)) / 2


NON = raw_input("How many numbers are there? ")
NON = int(NON)

    if NON == 2:
        n1 = raw_input("First Number: ")
        n2 = raw_input("Second Number: ")
        print average(n1,n2)

您可以编写它,这样用户就可以无限期地输入数字:

numbers = []
while True:
    numbers.append(int(raw_input("What is the next number?")))
    done = raw_input("Are you done? (Y/N) ")
    if done.lower() == "y":
        break
print("The average is {}".format(sum(numbers)/len(numbers)))

您可以编写它,这样用户就可以无限期地输入数字:

numbers = []
while True:
    numbers.append(int(raw_input("What is the next number?")))
    done = raw_input("Are you done? (Y/N) ")
    if done.lower() == "y":
        break
print("The average is {}".format(sum(numbers)/len(numbers)))

处理此问题的常用方法是使用
for()
循环

NON = raw_input("How many numbers are there? ")
NON = int(NON)
sum = 0
for i in range(NON):
    number = raw_input("Enter Number #"+str(i)+": ")
    number = int(number)
    sum += number
average = sum / NON
print("Average is: "+str(average))

处理此问题的常用方法是使用
for()
循环

NON = raw_input("How many numbers are there? ")
NON = int(NON)
sum = 0
for i in range(NON):
    number = raw_input("Enter Number #"+str(i)+": ")
    number = int(number)
    sum += number
average = sum / NON
print("Average is: "+str(average))

尝试将用户输入存储在数组中,然后执行以下操作:

sum = 0
list = [11,22,33,44,55,66,77]
for num in list:
    sum = sum +num
average  = sum / len(list)
print ("Average of list element is ", average )

尝试将用户输入存储在数组中,然后执行以下操作:

sum = 0
list = [11,22,33,44,55,66,77]
for num in list:
    sum = sum +num
average  = sum / len(list)
print ("Average of list element is ", average )

我有一种方法可以做到这一点,那就是嵌套循环

students = int(input("How many students do you have? "))
tests = int(input("How many test for your module? "))
for x in range(students):
    x += 1
    total = 0
    print(f'****** Student # {x} ******')
    
    for y in range(tests):
        y += 1
        score = float(input(f'Test number {y}: '))
        total = (total + c)
    ave = total/tests
    print(f'The ave for student # {x} is: {ave:.1f}')

我有一种方法可以做到这一点,那就是嵌套循环

students = int(input("How many students do you have? "))
tests = int(input("How many test for your module? "))
for x in range(students):
    x += 1
    total = 0
    print(f'****** Student # {x} ******')
    
    for y in range(tests):
        y += 1
        score = float(input(f'Test number {y}: '))
        total = (total + c)
    ave = total/tests
    print(f'The ave for student # {x} is: {ave:.1f}')


欢迎来到StackOverflow!我们不是代码审查服务。如果你没有问题,你可以在这里问你的问题→ 你似乎知道什么是循环,也许做一个快速的谷歌搜索会有所帮助?我们不是来为你写代码的,你知道…在什么意义上更容易?更短的通过组合现在在多行中完成的一些操作,您的代码可以在更少的行中完成,但是为了得到正确的答案,您的代码所做的一切都必须完成。欢迎使用StackOverflow!我们不是代码审查服务。如果你没有问题,你可以在这里问你的问题→ 你似乎知道什么是循环,也许做一个快速的谷歌搜索会有所帮助?我们不是来为你写代码的,你知道…在什么意义上更容易?更短的通过将现在在多行中执行的一些操作组合在一起,您的代码可以在更少的行中完成,但为了得到正确的答案,您的代码所做的每件事都必须完成。除了您编写的函数不能组成更大数目的平均值…@ShadowRanger感谢您指出这一点。我真的不明白这个问题。我以为他只是想让它更干净更简单。他要的是“布景”,每个人都给他一张“单子”。集合不允许重复,而列表允许。除了您编写的函数不允许平均较大数量的值之外…@ShadowRanger感谢您指出这一点。我真的不明白这个问题。我以为他只是想让它更干净更简单。他要的是“布景”,每个人都给他一张“单子”。集合不允许重复,而列表允许重复。这里是最优雅的解决方案,但有一个小的输入错误,
格式
附加
括号谢谢。“你完成了吗?(Y/N)”在我写它的时候感觉不优雅。在这种情况下,你仍然需要一个用户输入来打破循环,否则脚本将不支持无限数量的输入。看看金斯利的答案;实际上,这是一个更好的方法,但乍看起来并不那么吸引人:DUser必须提前选择输入的数量,这是我试图避免的。同意如果你接受了这个约束,那么这样做会更好。这里是最优雅的解决方案,但是有一个小的拼写错误,
格式
附加
括号谢谢。“你完成了吗?(Y/N)”在我写它的时候感觉不优雅。在这种情况下,你仍然需要一个用户输入来打破循环,否则脚本将不支持无限数量的输入。看看金斯利的答案;实际上,这是一个更好的方法,但乍看起来并不那么吸引人:DUser必须提前选择输入的数量,这是我试图避免的。同意如果你接受了这个约束,那么这样做更好。