如何找到列表的平均值

时间:2016-10-12 19:19:19

标签: python list python-3.x

我是python的新手并试图编写一些代码以便用户输入内容。如果它是一个整数,它将被排序到Numbers列表中,如果它是一个字符串,它将进入String列表。

我希望能够找到列表中所有数字的平均值并打印出结果。 在String部分,我希望能够打印出字符串中的所有内容及其长度。 用户输入“保存”退出,如果输入有效则被捕获。

Numbers = []
String = []

while(True):
    user_input = input("What's your input? ")
    if user_input == "save":
        break
    elif user_input.isdigit():
        Numbers.append(user_input)
        for i in range(len(Numbers)):
            Numbers[i] = int(Numbers[i])
            print(sum(Numbers)/len(Numbers)
    elif isinstance(user_input, str):
        String.append(user_input)
        print(String)
        print (len(String)-1)
    else:
        print("Invalid input.")
        break

4 个答案:

答案 0 :(得分:2)

data = "{'country': 'United Kingdom', ... }"

json_data = data.replace('\'', '\"')
dict_data = json.loads(json_data)
dict_data.keys()
# [u'full_name', u'url', u'country', ... ]

答案 1 :(得分:1)

有一个名为statistics.mean的好东西:

from statistics import mean
mean(your_list)

答案 2 :(得分:0)

您正在使用尚未定义的Length。我想你想要的是

print(sum(Numbers)/len(Numbers))

你可能不希望它在循环中,但只是在它之后(虽然这可能是另一个错字)。

答案 3 :(得分:0)

我发现了生成均值的另一种更方便的方法:使用统计模型并输出均值。

#import useful packages
import statistics

#Create an empty list
user_list = []

#get user request
user_input = input("Welcome to the average game. The computer is clever enough to get the average of the list of numbers you give. Please press enter to have a try.")

#game start
while True:
    #user will input their number into a the empty list
    user_number = input("Type the number you want to input or type 'a' to get the average and quit the game:")

#help the user to get an average number
if user_number == 'a':
    num_average = statistics.mean(user_list)
    print("The mean is: {}.".format(num_average))
    break #Game break
else:
    user_list.append(int(user_number))
    print(user_list)