0
Why this algorithm returns no output? Please help.
# Expected output: 'tuxtax! tuxtax!' for False def echo_sabre(func, x, y): return func(func(x, y), func(x, y)) a = 'tux' b = 'tax' def merge(x, y): return x + y def maruhacho(): while False: print (echo_sabre(merge, a, b, "!")) if True: print ("Qui, qui, je vois") else: maruhacho() 1==2
6 Réponses
+ 5
Because of the condition:
while False: is always fixed
2nd thing you have defined function with 3 parameters and while calling in another function you have passed 4 parameters.
3rd thing what is 1== 2 in your code.
+ 3
First of all, you do not call any function. Second in maruhacho the while loop will never run, because you have a fixed False conditon. It will also always print "Qui, qui, je vois" as there is a fixed True.
+ 2
Here one implementation using three arguments, so similar to the original one and one example using a tuple as input (*args), so that you are flexible in the amount of strings to concatenate.
https://code.sololearn.com/cDj3i2UNY1M5/?ref=app
https://code.sololearn.com/cX52cwHGMfK9/?ref=app
+ 1
I don't think this can work, echo_sabre takes 3 arguments but you give it 4.
`echo_sabre(merge, a, b)` will give you "tuxtaxtuxtax". We can substitute in our heads to see:
def echo_sabre(merge, "tux", "tax"):
return merge(merge("tux", "tax"), merge("tux", "tax"))
You could `echo_sabre(merge, a, merge(b, "! "))` to get the expected result, or something very close anyway.
0
Manu_1-9-8-5 AJ #Infinity Love Hello and thank you! So, I attempted to call the maruhacho function by checking 1==2 statement.
How do I call it correctly to get the “tuxtax tuxtax” result?
0
Manu_1-9-8-5 Thank you, mate! Really appreciate your input!