程序将询问用户的输入: inp = input("Enter numbers")
用户可能输入数字为 4535435439。我的第一个问题是如何将数字存储为列表。例如,如果用户输入为 12、14、15。我希望将每个数字存储为一个列表。有内置功能吗?以及如何从该列表中获取最大值、最小值和平均值?
PS我不需要代码。请指导我的逻辑。告诉我我该怎么做?然后我会把它转换成代码并放在这里。谢谢!
如果数字用逗号分隔,那么你很幸运
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
,否则您将得到一个整数除法。希望您正在使用 Python3,因为我看到您正在使用input()
而不是raw_input()
快捷方式是使用sum()
函数
average = sum(numbers)/len(numbers)
min(int(x) for x in raw_input().split(','))
会得到用户的输入。如果字符串是逗号分隔的数字,例如1, 2, 3, 4
,这会将字符串拆分为每个数字,将它们转换为整数,找到该值列表的最小值。
您可以在循环中向用户询问一个数字,并在输入时接受空输入作为结束并跳出循环。在循环中,您只需将输入附加到列表中。