Python检查几个if条件(查找并用数字替换单词)
我想找一根蓝色或红色的线,把它变成数字1或2。 我的代码2中有if条件。这两个都是真的。所以我应该得到数字1和2作为输出。 但取决于我放回的位置,我总是得到1或2,但从来不会同时得到1和2。我错过了什么?不可能同时有两个if条件吗? 例如,我的输入文本如下所示:Python检查几个if条件(查找并用数字替换单词),python,if-statement,search,replace,return,Python,If Statement,Search,Replace,Return,我想找一根蓝色或红色的线,把它变成数字1或2。 我的代码2中有if条件。这两个都是真的。所以我应该得到数字1和2作为输出。 但取决于我放回的位置,我总是得到1或2,但从来不会同时得到1和2。我错过了什么?不可能同时有两个if条件吗? 例如,我的输入文本如下所示: myInput = "I like the colors blue and red." def check_color(document): for eachColor in document: if ("
myInput = "I like the colors blue and red."
def check_color(document):
for eachColor in document:
if ("blue" in myInput):
color_status = "1"
#return color_status # only 1 as result
if ("red" in myInput):
color_status = "2"
#return color_status # only 1 as result
else:
color_status = "0"
#return color_status # only 1 as result
#return color_status # only 2 as result
无任何返回->输出:无
函数调用
这是一种方法
演示:
使用all检查文本中是否有所有颜色
elif检查其他条件。
当然,您需要一个return语句才能得到任何结果。问题在于这个概念:如果您想要返回零个或多个值,列表将是最简单的解决方案。您的代码只是用2覆盖1
color_status = []
if "blue" in myInput:
color_status.append("1")
if "red" in myInput:
color_status.append("2")
return color_status
所以我应该得到数字1和2作为输出
不可以。一旦函数到达return语句,就会返回一个值,并且函数不再继续
不可能同时有两个if条件吗
对。但是,如果在计算结果为True的if子句中放入return语句,则所有后续if子句都将被忽略
无任何返回->输出:无
对。如果函数不返回或不产生任何结果,它将不返回任何结果
在每种情况下,您需要仔细定义您想要的输出。例如,如果要将值列表作为输出,请初始化列表并将其追加。字典将使您的解决方案更易于实现和扩展
下面是一个演示:
myInput = "I like the colors blue and red."
def check_color(var):
c_map = {'blue': 1, 'red': 2}
L = []
for colour, num in c_map.items():
if colour in var:
L.append(num)
return L
print(check_color(myInput))
[1, 2]
color_status = []
if "blue" in myInput:
color_status.append("1")
if "red" in myInput:
color_status.append("2")
return color_status
myInput = "I like the colors blue and red."
def check_color(var):
c_map = {'blue': 1, 'red': 2}
L = []
for colour, num in c_map.items():
if colour in var:
L.append(num)
return L
print(check_color(myInput))
[1, 2]