抱歉,如果这是一个愚蠢的问题,我已经对其进行了研究,发现类似的代码可以工作并应用相同的布局,但是由于某些原因,当我运行我的代码时,它不会打印num或true或false的结果,而只是显示一个空白行。我正在使用Python 2,我想念什么? rand_divis_3函数应该只是生成一个随机数,并根据其是否可以被3整除而输出True或False。非常感谢,我是python的新手
import random
def rand_divis_3():
num = random.randint(0,100)
print num
if num % 3 == 0:
print True
else:
print False
最佳答案
如您所知,Python是一种脚本语言。它的工作方式与您可能对C / C ++ / Java所体验的有点不同。在C / Cpp / Java中,您有一个主类和/或一个可用的主要函数,它们是程序执行的起点。
对于python,没有语言指定主要函数或类,您必须定义自己的类并调用它。
您所做的只是定义函数而不使用它,因此调用函数。
片段:
import random
def rand_divis_3():
num = random.randint(0,100)
print num
if num % 3 == 0:
print True
else:
print False
这将创建一个函数rand_divis_3,该函数将创建并存储在内部存储器中。问题是您必须调用该函数。
>>>rand_divis_3()
93
现在这部分很棘手,python是一种语言,实际上有数百万个库,您可以在https://pypi.python.org上找到它们,也可以创建自己的库。
假设您编写了这段代码
import random
def rand_divis_3():
num = random.randint(0,100)
print num
if num % 3 == 0:
print True
else:
print False
rand_divis_3() #This is where the function is executed
您调用了这个file.py并将其执行为python file.py,这当然会首先随机导入,然后创建一个名为rand_divis_3的对象,并在内部指向该函数。当涉及到
rand_divis_3()
时,它将执行此行,这实际上将为您生成一个随机数并相应地打印该数字和True / False。假设您需要创建一个库,那么就会遇到问题,因为在您
import file
时,file.py
脚本会从上到下执行。为了避免这种情况,您可以做
将
import file
替换为from file import rand_divis_3
,可以有选择地导入一个函数,但是,如果您正在从事某些实际项目,则不建议这样做,请看#2在脚本末尾添加此行,
如果name =='main':
rand_divis_3()
在file.py的末尾加上这一行,当您执行
python file.py
时,它将调用该函数,但是如果您执行import file
,则不会调用rand_divis_3函数。这背后的原因是在执行任何python脚本时,名称变量是main。
因此,您的最终文件将如下所示:
import random
def rand_divis_3():
num = random.randint(0,100)
print num
if num % 3 == 0:
print True
else:
print False
if __name__=='__main__':
rand_divis_3() # function is called only when you execute the script
注意:这非常重要,当您学习该语言来做一些事情时,Cyber所说的有效,但是当您认真学习编程时,这将很方便,我花了很长时间才意识到它的重要性。
我在这里为python新手创建了github存储库http://github.com/thewhitetulip/SamplePythonScripts