- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是第一次学习Python的程序员,需要接收用户的输入并返回输入以及输入数据的总和和平方。我已提示输入并可以打印该输入,但不确定如何将输入传递给求和函数和平方函数。
这是我所拥有的:
def sum(list):
data = input("Enter a list of numbers or enter to quit: ")
for data in list():
return sum(list) # Not sure how to make it x*y for my list of values?
print("The sum of your list is: ", list)
这对于我的平方函数来说是一样的。不知道如何制作:
return(list**2) #将列表中的每个数字返回**2?
最佳答案
你的代码有很多问题,但它们大多都是非常简单的问题,很多人在第一次使用时都会遇到困难。不要让他们让你失望。
首先,您不应重复使用已经具有含义的名称,例如 list
和 sum
。基本上,this page 顶部表中的任何名称。 .
其次,您将接受两个“列表”(不是真的,但我们会到达那里)。其中一个作为参数传递到您的函数中(def sum(list):
中的list
)。另一个是行中的data
data = input("Enter a list of numbers or enter to quit: ")
第三,上面一行中的data
实际上并不是一个列表,它是一个字符串。如果您想从该输入
中拆分数据并稍后将其用作数字,则必须手动执行此操作。
第四,当您在 for list()
行中再次使用名称 data
时,您将覆盖现有 data< 中包含的信息
变量包含 list()
中的元素。至少你不会那样。
第五,list()
是一个函数调用。 Python 中有一个 list
函数,这可以工作,但我认为您可能希望它迭代您传递给函数的列表。
第六,return sum(list)
将再次调用此函数,可能会永远调用。
现在,我们如何解决这个问题?
值得庆幸的是,如果我们愿意,内置函数 sum
可以为我们添加列表,但首先我们必须从用户那里获取列表。
def input_list():
s = input("Enter integers separated by spaces:\n")
return [int(x) for x in s.split()]
[int(x) for x in ...]
位称为 list comprehension。您很快就会看到另一个。
这个函数接受像
这样的输入23 45 12 2 3
并将其转换为 int
列表。
那么我们就可以
print(sum(input_list()))
正方形有点困难,但列表推导式使它们变得容易。只是
print([x**2 for x in input_list()])
如果有任何不清楚的地方,请随时提出任何后续问题。
关于python - python 中接收用户输入并返回总和和平方的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46656953/
我是一名优秀的程序员,十分优秀!