Python 如何防止在while循环中重复程序调用
我试图防止这个开关函数在概率while循环中不断重复,我希望它被调用一次,提升一个输入,然后在while循环中每次使用该输入的返回,而不是每次都询问 (它不允许我添加开关功能的第二张图片,所以我只需复制并粘贴它)Python 如何防止在while循环中重复程序调用,python,loops,while-loop,Python,Loops,While Loop,我试图防止这个开关函数在概率while循环中不断重复,我希望它被调用一次,提升一个输入,然后在while循环中每次使用该输入的返回,而不是每次都询问 (它不允许我添加开关功能的第二张图片,所以我只需复制并粘贴它) 您可以在while循环之前的probability()函数中设置变量,例如if\u switch=switch\u door(),并将该变量作为参数传递给仿真函数。 请注意,您需要将模拟定义更改为,例如def模拟(doors,if_开关):;您还需要更改这两行: if-switch\
您可以在while循环之前的
probability()
函数中设置变量,例如if\u switch=switch\u door()
,并将该变量作为参数传递给仿真函数。
请注意,您需要将模拟定义更改为,例如def模拟(doors,if_开关):
;您还需要更改这两行:
if-switch\u-door()==True:
至if-switch==True:
elif switch\u door()==False:
to simplyelse:
现在您的问题应该解决了。将代码粘贴到问题中。您的格式设置偏移了一个变量,该变量等于while循环外部的switch_door函数的输出,并将该变量传递给模拟函数。如果您只想请求一次
switch doors
的用户输入,为什么不将其与其余输入一起放在while循环之前?您应该始终复制并粘贴您的代码,而不仅仅是当您无法添加屏幕截图时。
def switch_door():
switch=raw_input("Switch doors?:")
if switch!="y" and switch!="n":
return "Incorrect inputs"
elif switch=='y':
return True
elif switch=='n':
return False