我正在尝试将数字放入列表并平方并全部打印出来

时间:2018-10-30 08:19:59

标签: python python-3.x

因此,我正在尝试将数字放入列表并平方并全部打印出来。

这就是我所拥有的:

import math
ListNum = [2,4,6,8]
for item in ListNum:
    list(map(float, ListNum)
print(math.sqrt(ListNum))

但是我有这个错误:

  

文件“ Main.py”,第5行       打印(math.sqrt(ListNum))           ^   SyntaxError:语法无效

第5行打印的内容。有谁可以帮助您?

6 个答案:

答案 0 :(得分:0)

这有效:

import math
ListNum = [2,4,6,8]
for item in ListNum:
    print (math.sqrt(item))
    print (item*item)

区别在于,这里是打印列表中的每个项目,而不是列表本身。

第一行-print (math.sqrt(item))打印平方根,第二行-print (item*item)打印平方。

答案 1 :(得分:0)

为什么不仅仅创建一个包含结果的列表,然后以任何格式打印该结果?

from math import sqrt

ListNum = [2,4,6,8]

ret = [sqrt(x) for x in ListNum]
print(ret)

答案 2 :(得分:0)

要回答原始问题-SyntaxError是由于缺少第4行上的右括号而引起的,list(map(float, ListNum)应该为list(map(float, ListNum))。有时错误出现在前一行(在本例中为第4行),而不是回溯中指示的错误(在本例中为第5行)。 该代码将无法提供您期望的结果。查看其他答案。

答案 3 :(得分:0)

import math
ListNum = [2,4,6,8]
for item in ListNum:
    list(map(float, ListNum)  <--- you miss a parenthese
print(math.sqrt(ListNum))

math.sqrt正在计算平方根:

>> help(math.sqrt)
sqrt(...)
    sqrt(x)

    Return the square root of x.

对于平方:

import math
ListNum = [2,4,6,8]
result = list(map(math.pow, ListNum, [2]*len(ListNum)))

对于平方根:

import math
ListNum = [2,4,6,8]
result = list(map(math.sqrt, ListNum))

答案 4 :(得分:0)

在python3文档中,您可以在底部找到链接,math.sqrt()被描述为“返回x的平方根”。 由于ListNum实际上是一个列表,因此math.sqrt()将难以识别数字以外的任何类型。

第4行末尾的')'丢失了'SyntaxError'。

以下代码可以工作。

import math
ListNum = [2,4,6,8]
ListNum = list(map(math.sqrt,ListNum))
print (ListNum)

https://docs.python.org/3/library/math.html

答案 5 :(得分:0)

您不能使用列表的平方根,ListNum是列表。

如果要取所有数字的平方根(而不是平方),则可以将math.sqrt映射到列表:

import math
ListNum = [2,4,6,8]
roots = list(map(math.sqrt, ListNum))
print(roots)

请注意,没有循环;迭代被抽象为map

如果要对数字进行平方,则需要平方函数:

def square(x) : return x * x
print(list(map(square, ListNum)))

print(list(map(lambda x: x* x, ListNum)))