如何在Python中取输入数字的平均值?



我想创建一个代码,输入数字,然后取这些数字的平均值。到目前为止,我有这个:

from statistics import mean
numbers=int(input("Enter some numbers. Seperate each number by a space: ") 
average=mean(grades)
print(average)

运行这段代码会给我一个错误:"无效的literal for int() with base 10: ' 12 13 14 15 16 17 17'"。我试图将输入转换为列表,但这也失败了;我不知道还能做什么或尝试什么。

您试图将整个输入转换为一个整型。获取输入字符串,然后将其拆分并单独转换为整型。

from statistics import mean
user_input = input("Enter some numbers. Seperate each number by a space: ").strip()
numbers = [int(x) for x in user_input.split(' ')]
average = mean(numbers)
print(average)
numbers=[int(x) for x in input("Enter some numbers. Seperate each 
number by a space: ").split()]
print(numbers)
average=mean(numbers)
print(average)

将输入转换为列表的想法是正确的。下面是这样做的方法之一:

numbers = list(map(int, input().split(" ")))
average = mean(grades)
print(average)
from statistics import mean
numbers = input("Enter some numbers. Separate each number by a space: ")
# After the input numbers is a string that looks like this "1 2 3 4"
# .split(" ") splits the string based on the space. It returns a list of individual items
# strip removes the trailing and leading white spaces
# map applies the first arg (here int) on each element of the second arg (here a list of numbers as strings)
numbers = list(map(int, numbers.strip().split(" ")))
average = mean(numbers)
print(average)

最新更新