程序将询问用户的输入: INP =输入(“输入数字”)如何在Python中输入输入数字的最大最小值和平均值?
用户可以输入号码作为4535435439.我的第一个问题是我如何保存为列表中的号码。例如,如果用户输入为12,14,15,我希望每个数字都存储为一个列表。有没有inbuild功能?我该如何从列表中获得最大值,最小值和平均值?
P.S我不需要代码。请在逻辑中引导我。告诉我我该怎么做?然后我会将它转换成代码并放在这里。谢谢!
程序将询问用户的输入: INP =输入(“输入数字”)如何在Python中输入输入数字的最大最小值和平均值?
用户可以输入号码作为4535435439.我的第一个问题是我如何保存为列表中的号码。例如,如果用户输入为12,14,15,我希望每个数字都存储为一个列表。有没有inbuild功能?我该如何从列表中获得最大值,最小值和平均值?
P.S我不需要代码。请在逻辑中引导我。告诉我我该怎么做?然后我会将它转换成代码并放在这里。谢谢!
如果数字用逗号分隔,你是幸运的
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
内建函数是类似
为了得到平均,在Python2你需要转换的数字来float
的一个长度
total = 0
for n in numbers:
total += n
average = float(total)/len(numbers)
增加的数量和鸿沟,否则你将得到一个整数divison。希望您在使用Python3,我看到你正在使用input()
代替raw_input()
快捷的方式是使用sum()
功能
average = sum(numbers)/len(numbers)
min(int(x) for x in raw_input().split(','))
会得到来自用户的输入。如果字符串是逗号分隔的数字,例如1, 2, 3, 4
,则会将字符串拆分为每个数字,将它们转换为整数,找到该列表的最小值。
你不需要'[]'。 'min()'适用于生成器表达式 – 2012-08-14 10:28:37
非常棒!谢谢@gnibbler,不知道。 – Aesthete 2012-08-14 10:31:00
您可以在循环中要求用户输入一个数字,并在输入和跳出循环时接受空输入作为结束。在循环中,您只需将输入追加到列表中。
谢谢你的帮助gnibbler。但是我怎样才能不使用Python函数呢?我想从逻辑上强大。我怎样才能使用循环? – sachitad 2012-08-14 10:36:20
@sachitad,我将它添加到我的答案 – 2012-08-14 10:38:52
非常感谢你的帮助。欣赏它:) – sachitad 2012-08-14 10:41:07