math.sqrt在break语句中
问题描述:
我对Python非常陌生。目前正在研究一个处理break语句的实验室。我有这行代码math.sqrt在break语句中
from math import sqrt
for i in range(1001, 0, -1):
root = sqrt(i)
if root == int(root):
print i
break
的问题问我改第一线导入数学(不含进口开方)并保持其他线路一样。这让我与此:
import math
math.sqrt(i)
for i in range(1001, 0, 01):
root = sqrt(i)
if root == int(root):
print i
break
当运行它时,我想出了名称'sqrt'没有定义的NameError消息。如何在不更改第一行的情况下修复此代码?
谢谢。
答
import math
for i in range(1001, 0, -1):
root = math.sqrt(i)
if root == int(root):
print i
break
答
这不是进口是如何工作的。如果您只是想提起数学模块而不提前提到平方根函数,请执行
import math
for i in range(1001, 0, -1):
root = math.sqrt(i)
if root == int(root):
print i
break
请注意这是如何工作的。语句import math
告诉Python记录数学模块中的所有函数,而不必将所有函数的名称添加到当前环境中。换句话说,Python可以快速使用数学模块,但是它目前唯一可以理解的名字是math
。
当您需要使用数学模块中的函数时,只需以math.
作为前缀,如math.sqrt
所示。 Python知道math
是哪里,因此它使用该模块来查找sqrt
函数并使用它。但每次使用sqrt
或其他功能时都要这样做。无需提前申报,只需到math
即可。
这将名称数量降低到合理的大小(大型程序中存在问题),但仍然使Python能够使用许多模块。
https://docs.python.org/2/tutorial/modules.html –