Python简单数学到0.0
我正在学习Python,在做简单的数学时遇到了问题Python简单数学到0.0,python,math,Python,Math,我正在学习Python,在做简单的数学时遇到了问题 def main(): coneHeight = 4.5 coneR = 1.5 pi = 3.141 cone = pi * (1/3) * coneHeight * (coneR * coneR) print cone if __name__ == '__main__': main() 如果有人能告诉我我做错了什么,那就太好了。另外,如果需要\uuuu name\uuuu,是否需要最后
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1/3) * coneHeight * (coneR * coneR)
print cone
if __name__ == '__main__':
main()
如果有人能告诉我我做错了什么,那就太好了。另外,如果需要
\uuuu name\uuuu
,是否需要最后一行?我不知道它是做什么的,但我就是它,它成功了。问题是你正在做(1/3)
,它的计算结果是0
。这是因为python的整数除法(事实上大多数编程语言的整数除法)将截断或舍入。改为这样做:
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1.0/3) * coneHeight * (coneR * coneR)
print cone
if __name__ =='__main__':main()
或者你可以:
from __future__ import division
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1/3) * coneHeight * (coneR * coneR) #no need to do 1.0/3 anymore
print cone
if __name__ =='__main__':main()
关于你的第二个问题
当脚本直接运行(从shell、cmd、bash等)时,
\uuuuuu name\uuuuuuu
变量被赋值为'\uuuuu main\uuuuuuu'
。因此,仅当直接运行此.py文件时,脚本才会运行,如果由另一个文件导入,则不会调用main()
。问题是您正在执行(1/3)
,其计算结果将为0
。这是因为python的整数除法(事实上大多数编程语言的整数除法)将截断或舍入。改为这样做:
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1.0/3) * coneHeight * (coneR * coneR)
print cone
if __name__ =='__main__':main()
或者你可以:
from __future__ import division
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1/3) * coneHeight * (coneR * coneR) #no need to do 1.0/3 anymore
print cone
if __name__ =='__main__':main()
关于你的第二个问题
当脚本直接运行(从shell、cmd、bash等)时,
\uuuuuu name\uuuuuuu
变量被赋值为'\uuuuu main\uuuuuuu'
。因此,仅当直接运行此.py文件时,脚本才会运行,如果由另一个文件导入,则不会调用main()
。问题是您正在执行(1/3)
,其计算结果将为0
。这是因为python的整数除法(事实上大多数编程语言的整数除法)将截断或舍入。改为这样做:
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1.0/3) * coneHeight * (coneR * coneR)
print cone
if __name__ =='__main__':main()
或者你可以:
from __future__ import division
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1/3) * coneHeight * (coneR * coneR) #no need to do 1.0/3 anymore
print cone
if __name__ =='__main__':main()
关于你的第二个问题
当脚本直接运行(从shell、cmd、bash等)时,
\uuuuuu name\uuuuuuu
变量被赋值为'\uuuuu main\uuuuuuu'
。因此,仅当直接运行此.py文件时,脚本才会运行,如果由另一个文件导入,则不会调用main()
。问题是您正在执行(1/3)
,其计算结果将为0
。这是因为python的整数除法(事实上大多数编程语言的整数除法)将截断或舍入。改为这样做:
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1.0/3) * coneHeight * (coneR * coneR)
print cone
if __name__ =='__main__':main()
或者你可以:
from __future__ import division
def main():
coneHeight = 4.5
coneR = 1.5
pi = 3.141
cone = pi * (1/3) * coneHeight * (coneR * coneR) #no need to do 1.0/3 anymore
print cone
if __name__ =='__main__':main()
关于你的第二个问题
当脚本直接运行(从shell、cmd、bash等)时,
\uuuuuu name\uuuuuuu
变量被赋值为'\uuuuu main\uuuuuuu'
。因此,您的脚本只会在直接运行此.py文件时运行,如果由另一个文件导入,则不会调用main()
。由于您是python新手,如果您想在将来使用它,请先阅读以下内容(留出一些时间):
关于你的问题,这里有一个解决方案:
由于您是python新手,如果您打算将来使用它,请先阅读以下内容(抽出一些时间): 关于你的问题,这里有一个解决方案:
由于您是python新手,如果您打算将来使用它,请先阅读以下内容(抽出一些时间): 关于你的问题,这里有一个解决方案:
由于您是python新手,如果您打算将来使用它,请先阅读以下内容(抽出一些时间): 关于你的问题,这里有一个解决方案:
我更喜欢来自“未来导入”部门的
:它是Python 3向前兼容的。@Evert未来导入有什么作用?@SDK4请搜索。例如,@Evert,谢谢你。我已经在答案中包含了它。我喜欢来自“未来”导入部门的,
更好:它是Python 3向前兼容的。@Evert未来导入做什么?@SDK4请搜索。例如,@Evert,谢谢你。我已经在答案中包含了它。我喜欢来自“未来”导入部门的,
更好:它是Python 3向前兼容的。@Evert未来导入做什么?@SDK4请搜索。例如,@Evert,谢谢你。我已经在答案中包含了它。我喜欢来自“未来”导入部门的,
更好:它是Python 3向前兼容的。@Evert未来导入做什么?@SDK4请搜索。例如,@Evert,谢谢你。关于\uuuuu name\uuuuu
测试,请参见\uuuu name\uuuu
测试,请参见\uu name\uuuuu
测试,请参见