因此,我正在尝试将数字放入列表并平方并全部打印出来。
这就是我所拥有的:
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行打印的内容。有谁可以帮助您?
答案 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)
答案 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)))