输入的Python问题

时间:2018-09-18 16:20:28

标签: python python-3.x

**我正在使用的代码在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时,我陷入了循环 我想知道我在做什么错

1 个答案:

答案 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