所以我得到了这些用于打印语句的代码,但是我没有达到if循环的最后两行的目的? 来自随机导入随机
def flip(bias):
"""
Flip a coin once.
`bias` is the likelihood of the result being heads, 0. <= bias <= 1.
Returns True for heads or False for tails
"""
return random() < bias
def main():
bias = float(input("What bias do your coins have? "))
count = {False: 0, True: 0}
for i in range(1, 4):
toss = flip(bias)
count[toss] += 1
print("Coin flip {} has a value of heads: {}".format(i, toss))
print("Final result: {} heads, {} tails".format(count[True], count[False]))
if __name__ == "__main__":
main()
提前致谢。
答案 0 :(得分:0)
这是出于输入的原因。
如果我想在另一个程序中使用该功能,那么这两行不允许我这样做。您可以查看here以获取更多信息。引用接受的答案:
执行此操作的原因之一是有时您会编写一个可以直接执行的模块(.py文件)。或者,它也可以导入并在另一个模块中使用。通过执行主检查,您可以仅在希望将模块作为程序运行时执行该代码,而在有人只想导入模块并自行调用函数时不执行该代码。
换句话说,必须在放入的文件中调用该函数。如果该函数位于one.py
并导入two.py
,我可以在one.py
中运行该函数但不在two.py
。
答案 1 :(得分:0)
Python是一种脚本语言。与C ++不同,Python并不认为main()
是特殊的。因此,如果我们将文件作为脚本运行,我们希望运行main()
。
if __name__ == "__main__":
main()
如果文件作为脚本运行,__name__
保证等于"__main__"
,那么这将运行main函数。如果文件作为模块加载,__name__
将是模块名称,因此将不会运行。
这是一个相当普遍的Python习语,你会看到很多,所以当你看到if __name__ == "__main__"
时,你就会学会识别它。
答案 2 :(得分:0)
如果您正在执行的文件是此特定python文件,则__name__ == "__main__"
为真。如果导入此文件并运行其他文件,则__name__ == "__main__"
将不成立,因此名称 ==“主要”之后的代码将无法运行。