如何从Python中的输入数字打印最大最小值和平均值?

时间:2012-08-14 10:22:40

标签: python max min

程序会询问用户的输入: inp =输入(“输入数字”)

用户可能输入的号码为4535435439.我的第一个问题是如何将号码存储为列表。例如,如果用户输入为12,14,15。我希望将每个数字存储为列表。有没有内置功能?如何从该列表中获得最大值,最小值和平均值?

P.S我不需要代码。请指导我的逻辑。告诉我怎么办呢?然后我会将其转换为代码并放入此处。谢谢!

3 个答案:

答案 0 :(得分:1)

如果数字以逗号分隔,那么你很幸运

import ast
numbers = ast.literal_eval(inp)

会给你一个数字元组。将元组转换为列表很容易

numbers = list(numbers)

您可以使用min()max()函数来查找最小值和最大值,只需将numbers传递给它们

如果没有像这样的内置函数,你可以min(或max

min_number = numbers[0]
for n in numbers:
    if n < min_number:
        min_number = n

max类似

要获得平均值,请添加数字并除以长度

total = 0
for n in numbers:
    total += n
average = float(total)/len(numbers)
在Python2中,你需要将其中一个数字转换为float,否则你将获得一个整数divison。希望您使用的是Python3,因为我发现您使用的是input()而不是raw_input()

快捷方式是使用sum()功能

average = sum(numbers)/len(numbers)

答案 1 :(得分:1)

min(int(x) for x in raw_input().split(','))

将获得用户的输入。如果字符串是逗号分隔的数字,例如1, 2, 3, 4,则会将字符串拆分为每个数字,将它们转换为整数,找到该值列表的最小值。

答案 2 :(得分:0)

您可以在循环中询问用户输入数字,并在输入和输出循环时接受空输入作为结束。在循环中,您只需将输入附加到列表中。