**我正在使用的代码在python中,我试图输入double true,并获得数字输出
def get_Alarm(提示):
TT=0.95
TF = 0.94
FT = 0.29
FF = 0.001 而True:
尝试: 返回
{“ True,True”:TT,“ True,False”:TF,“ False,True”:FT,“ False,False”:FF} [input(prompt).lower()]
return
{“ true,true”:TT,“ true,false”:TF,“ false,true”:FT,“ false,false”:FF} [input(prompt).lower()]
KeyError除外:
print(“输入无效,请输入true和or False!”)**
def get_EarthQ(提示):
a = 0.002
b = 0.998
为True时:
尝试: return {“ true”:a,“ false”:b} [input(prompt).lower()]
返回{“ True”:a,“ False”:b} [input(prompt).lower()]
KeyError除外:
print(“输入无效,请输入True或False!”)
def get_Burg(提示):
a=0.001
b = 0.999
为True时:
尝试:
返回{“ true”:a,“ false”:b} [input(prompt).lower()]
返回{“ True”:a,“ False”:b} [input(prompt).lower()]
除了KeyError: 打印(“输入无效,请输入True或False!”)
print(“警报系统”)
print(get_Burg(“概率窃贼闯入家中吗?”))
print(get_EarthQ(“您对地震的回答是对还是错?”)
print(“警报是由于汉堡或地震或两者同时响起的概率是什么?”
print(get_Alarm(“添加为真,例如为true即可获得概率,请输入Enter?”))
当我为getAlarm(prompt)添加true,true时,我陷入了循环 我想知道我在做什么错
答案 0 :(得分:1)
在这里查看您的try
语句,它们与另一个input
一样,并且永远不会退出while True:
循环,您需要一种退出while True:
循环的方法
def get_Alarm(prompt):
TT=0.95
TF=0.94
FT=0.29
FF=0.001
while True:
try:
return {"True,True":TT,"True,False":TF,"False,True":FT,"False,False":FF}[input(prompt).lower()]
return {"true,true":TT,"true,false":TF,"false,true":FT,"false,false":FF}[input(prompt).lower()]
except KeyError:
print("Invalid input please enter true and, or False!")
还请注意,第一个return
表示将无法访问第二个return