Python简单数学到0.0

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,是否需要最后

我正在学习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
,是否需要最后一行?我不知道它是做什么的,但我就是它,它成功了。

问题是你正在做
(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
测试,请参见