程序会询问用户的输入: inp =输入(“输入数字”)
用户可能输入的号码为4535435439.我的第一个问题是如何将号码存储为列表。例如,如果用户输入为12,14,15。我希望将每个数字存储为列表。有没有内置功能?如何从该列表中获得最大值,最小值和平均值?
P.S我不需要代码。请指导我的逻辑。告诉我怎么办呢?然后我会将其转换为代码并放入此处。谢谢!
答案 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)
您可以在循环中询问用户输入数字,并在输入和输出循环时接受空输入作为结束。在循环中,您只需将输入附加到列表中。