python 3.8.11
I want to call the function num_okay in another file. and I want to return the specific "solu" for each number if the if statement is true.
rn it's only returning the first if statement. but I want it to return all the if statements that are correct, not only the first time
and if the first if statement is false I want to continue running the next if statement
thankss
numberA=1
numberB=2
numberC=3
numberD=4
def num_okay():
if numberA < 20 or numberA > 30:
solu= 'numberA is okay'
return solu
if numberB < 20 or numberB > 30:
solu = 'numberB is okay'
return solu
if numberC < 20 or numberC > 30:
solu = 'numberC is okay'
return solu
if numberD < 20 or numberD > 30:
solu = 'numberD is okay'
return solu
else:
return "NO number is okay"
CodePudding user response:
You could do it using "elif" instead of "if". Which means "else, if..."
It would look like this:
if numberA < 20 or numberA > 30:
solu= 'numberA is okay'
return solu
elif numberB < 20 or numberB > 30:
solu = 'numberB is okay'
return solu
elif numberC < 20 or numberC > 30:
solu = 'numberC is okay'
return solu
elif numberD < 20 or numberD > 30:
solu = 'numberD is okay'
return solu
else:
return "NO number is okay"
CodePudding user response:
numberA=1
numberB=2
numberC=3
numberD=4
def num_okay():
solu=""
if numberA < 20 or numberA > 30:
solu= 'numberA is okay'
if numberB < 20 or numberB > 30:
solu = solu ' numberB is okay'
if numberC < 20 or numberC > 30:
solu = solu ' numberC is okay'
if numberD < 20 or numberD > 30:
solu = solu ' numberD is okay'
else:
return "NO number is okay"
return solu
print(num_okay())
It's not that it is not entering other if statements you return it in 1st if so it doesn't go to the rest here I have simply concated the string so it give 1 string with all the data from if statements hope this does what you were looking for
CodePudding user response:
If you want to return all statements that are True, you could do the following:
numberA=1
numberB=2
numberC=3
numberD=4
result = []
def num_okay():
if numberA < 20 or numberA > 30:
solu= 'numberA is okay'
result.append(solu)
if numberB < 20 or numberB > 30:
solu = 'numberB is okay'
result.append(solu)
if numberC < 20 or numberC > 30:
solu = 'numberC is okay'
result.append(solu)
if numberD < 20 or numberD > 30:
solu = 'numberD is okay'
result.append(solu)
else:
result.append("NO number is okay")
return result
print(num_okay())
The above code return list of all matching statements. You could later convert it as per the use-case