On vous donne une rangée de lampes éteintes représentée par une série de “x” (Par exemple “xxxxxx” pour 6 lampes éteintes) ainsi que la trajectoire d’un drone “T” (Par exemple “===T” pour un drone se déplaçant vers la droite de 4 unités).
Lorsque le drone passe au-dessus d’une lampe il l’allume (symbole “o”).
>> drone("xxxxxx", "===T")
"ooooxx"
Ce qui signifie que le drone a allumé les 4 premières lampes. Voici 2 autres exemples :
>> drone("xxx", "=========T")
"ooo" # le drone a allumé toutes les lampes
>> drone("xxxx", "T")
"oxxx"
Écrire la fonction drone qui admet en paramètres la rangée de lampes éteintes ainsi que la trajectoire du drone et qui en sortie affiche l’état des lampes.
l1="xxxxxxxxxxx" l2="xxxx" t1="=T" t2="=====T" def drone(lampes, traj): return lampes.replace("x","o",len(traj)) # Version 2 def dronev2(lampes, traj): sortie="" for i,v in enumerate(lampes): sortie+="o" if i<len(traj) else "x" return sortie # Version 3 def dronev3(lampes, traj): if len(traj)>=len(lampes): return "o"*len(lampes) return "o"*len(traj)+lampes[len(traj):] # Version 4 def dronev4(lampes, traj): return "o"*min(len(traj),len(lampes))+lampes[len(traj):] # Version 5 def dronev5(lampes, traj): return "".join(map(lambda v:"o" if v[0]<len(traj) else "x", enumerate(lampes)))