Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何让这个函数决定是否为真,而不是除以变量?_Python_Python 3.x - Fatal编程技术网

Python 我如何让这个函数决定是否为真,而不是除以变量?

Python 我如何让这个函数决定是否为真,而不是除以变量?,python,python-3.x,Python,Python 3.x,我正在写一个程序来确定重症监护病房的阳性率。我给出了一个列表:在医院和icu,我只需要将列表中的真实值除以真实值,得到阳性率% 名单如下: in_hospitals = [True, True, False, True, False, True, True, True] in_icu= [True, False, False, False, False, False, True, False] 职能: def rate_icu(hospitals, icu):

我正在写一个程序来确定重症监护病房的阳性率。我给出了一个列表:在医院和icu,我只需要将列表中的真实值除以真实值,得到阳性率%

名单如下:

in_hospitals = [True, True, False, True, False, True, True, True]
in_icu= [True, False, False, False, False, False, True, False]
职能:

def rate_icu(hospitals, icu):
                        hospitalized =  len(icu) / len(hospital) 
                        rate = hospitalized
                        return rate 


rate = rate_icu(hospitals, icu)
print(rate) #Testing Code
函数返回1,因为它只是将8除以8,但我需要它只除以上面列表中的真值

期望输出:

33.333333333333336

您可以利用
True
1
False
0
这一事实。这样,您就可以获取列表的总和而不是长度:

in_hospitals = [True, True, False, True, False, True, True, True]
in_icu= [True, False, False, False, False, False, True, False]

def rate_icu(hospitals, icu):
                        hospitalized =  sum(icu) / sum(hospitals) 
                        rate = hospitalized
                        return rate 


rate = rate_icu(in_hospitals, in_icu)
print(rate) #Testing Code

# 0.3333333333333333

当然,如果你想要
33.33
你需要乘以100。

你可以利用
True
1
False
0
这一事实。这样,您就可以获取列表的总和而不是长度:

in_hospitals = [True, True, False, True, False, True, True, True]
in_icu= [True, False, False, False, False, False, True, False]

def rate_icu(hospitals, icu):
                        hospitalized =  sum(icu) / sum(hospitals) 
                        rate = hospitalized
                        return rate 


rate = rate_icu(in_hospitals, in_icu)
print(rate) #Testing Code

# 0.3333333333333333
当然,如果你想要
33.33
,你需要乘以100。

最明显的方法是
计算每个列表中
True
的数量:

icu.count(True) / hospital.count(True)
“捷径”是知道
布尔值
是从
int
派生而来的,True=1,False=0:只需使用
求和

sum(icu) / sum(hospital)
“明显”的方法是对每个列表中的
True
数量进行计数:

icu.count(True) / hospital.count(True)
“捷径”是知道
布尔值
是从
int
派生而来的,True=1,False=0:只需使用
求和

sum(icu) / sum(hospital)

您需要过滤数组

in_hospitals = [True, True, False, True, False, True, True, True]
in_icu = [True, False, False, False, False, False, True, False]


def rate_icu(hospital, icu):
    rate = len(icu) / len(hospital)
    return rate


rate = rate_icu([x for x in in_hospitals if x is True], [x for x in in_icu if x is True])
print(rate)

您需要过滤数组

in_hospitals = [True, True, False, True, False, True, True, True]
in_icu = [True, False, False, False, False, False, True, False]


def rate_icu(hospital, icu):
    rate = len(icu) / len(hospital)
    return rate


rate = rate_icu([x for x in in_hospitals if x is True], [x for x in in_icu if x is True])
print(rate)
我会用sum

in_hospitals=[真,真,假,真,假,真,真,真]
in_icu=[真,假,假,假,假,假,真,假]
重症监护病房(医院、重症监护病房)的def比率:
住院=金额(icu)/金额(医院)
比率=住院*100
回报率
比率=重症监护病房的比率(在重症监护病房的医院)
打印(f“{rate}%”)
我会使用sum

in_hospitals=[真,真,假,真,假,真,真,真]
in_icu=[真,假,假,假,假,假,真,假]
重症监护病房(医院、重症监护病房)的def比率:
住院=金额(icu)/金额(医院)
比率=住院*100
回报率
比率=重症监护病房的比率(在重症监护病房的医院)
打印(f“{rate}%”)
您应该使用sum而不是len:

您应该使用sum而不是len:


return sum(in_icu)/sum(in_hospitals)“我给出了一个列表:in_hospitals和in_icu,我只需要除以列表中的真实值”哪个列表是“列表”?你为什么要同时考虑这两份名单?“仅将列表中的真值除以真值”我不明白这意味着什么。请更清楚地思考除法的分子和分母到底应该是什么。例如,如果您想计算列表中的一些值,请显式地说。但是如果你想知道“重症监护室的阳性率”,那么我不明白与“医院”有什么关系。天哪,蝙蝠侠!一级缩进需要24个空格。无论编辑对你做了什么,都要带着最大的偏见把它扔进垃圾桶。你有没有理由编辑这个问题,让它对其他人不再有用?经过编辑后,这个问题不再有任何意义。假设这是一个错误并回滚。return sum(in_icu)/sum(in_hospitals)“我给出了一个列表:in_hospitals和in_icu,我只需要除以列表中的真实值”哪个列表是“列表”?你为什么要同时考虑这两份名单?“仅将列表中的真值除以真值”我不明白这意味着什么。请更清楚地思考除法的分子和分母到底应该是什么。例如,如果您想计算列表中的一些值,请显式地说。但是如果你想知道“重症监护室的阳性率”,那么我不明白与“医院”有什么关系。天哪,蝙蝠侠!一级缩进需要24个空格。无论编辑对你做了什么,都要带着最大的偏见把它扔进垃圾桶。你有没有理由编辑这个问题,让它对其他人不再有用?经过编辑后,这个问题不再有任何意义。假设这是一个错误,然后后退。