很抱歉,如果这是一个愚蠢的问题,我已经研究过它,发现类似的代码可以运行并应用相同的布局,但出于某种原因,当我运行它时,它不打印num或者是真还是假结果,只是一个空白行。我使用的是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
答案 0 :(得分:3)
您需要实际调用该功能。如果你这样做,你会注意到你的功能正常。
>>> rand_divis_3()
26
False
>>> rand_divis_3()
15
True
您所做的只是定义该功能以供将来使用。
答案 1 :(得分:2)
如您所知,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 在脚本末尾添加此行
如果名称 ==' 主要': rand_divis_3()
在file.py末尾使用此行,当您执行python file.py
时,它将调用该函数,但如果执行import file
,则不会调用函数rand_divis_3。
这背后的原因是当您执行任何python脚本时 name 变量是 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 repo,http://github.com/thewhitetulip/SamplePythonScripts