我是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
答案 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)