Python输入问题

Python issue with input

**我正在使用的代码是python,我试图输入一个double-true,并得到一个数字输出。

def获取警报(提示):

1
TT=0.95

tf=0.94

ft=0.29

FF=0.001如果为真:

尝试:返回

"真,真":tt,"真,假":tf,"假,真":ft,"假,假":ff[输入(提示).lower()]

1
        return

"真,真":tt,"真,假":tf,"假,真":ft,"假,假":ff[输入(提示).lower()]

键错误除外:

print("输入无效,请输入true和,或false!")**

def get_earthq(提示):

A=0.002

B=0.998

如果为真:

尝试:返回"真":A,"假":B[输入(提示).lower()]

返回"真":A,"假":B[输入(提示).lower()]

键错误除外:

print("输入无效,请输入true或false!")

def get_burg(提示):

1
a=0.001

B=0.999

如果为真:

尝试:

返回"真":A,"假":B[输入(提示).lower()]

返回"真":A,"假":B[输入(提示).lower()]

键错误除外:print("输入无效,请输入true或false!")

打印("报警系统")

打印(GeT_Burg("Probability Burlar Intruding Home?")

打印(获取"EarthQ"("地震答案是真是假?")

印刷品("汉堡或地震或两者同时发出警报的概率是多少?"

打印(get_alarm("add true,true,例如to the get the probability,enter?")

当我为getalarm添加一个true(提示)时,我会陷入一个循环中。我想知道我做错了什么


看看你这里的try语句,它们是关于另一个input的,并且从不退出while True:循环,你需要一种方法来退出该while True:循环。

1
2
3
4
5
6
7
8
9
10
11
12
13
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