Home > Net >  if/else: get condition met - Python
if/else: get condition met - Python

Time:08-02

animals = 'silly monkey small bee white cat'

text1 = 'brown dog'
text2 = 'white cat'
text3 = 'fat cow'

if(text1 in animals or text2 in animals or text3 in animals):
   print(text2) # because it was met in the if/else statment!

I tried to simplify but this animals string will be update everytime.

What is the best and easy way to achieve this without so many if/else statment in my code?

CodePudding user response:

You can use regex.

import re
pattern = '|'.join([text1, text2, text3])
# pattern -> 'brown dog|white cat|fat cow'
res = re.findall(pattern, animals)
print(res)
# ['white cat']

CodePudding user response:

ANY time you have a set of variables of the form xxx1, xxx2, and xxx3, you need to convert that to a list.

animals = 'silly monkey small bee white cat'

text = [
  'brown dog',
  'white cat',
  'fat cow'
]

for t in text:
    if t in animals:
        print("Found",t)

CodePudding user response:

Use a loop to check each case:

animals = 'silly monkey small bee white cat'

text1 = 'brown dog'
text2 = 'white cat'
text3 = 'fat cow'

for text in [text1, text2, text3]:
    if text in animals:
        print(text)
  • Related