drone.py

Created by schraf

Created on September 20, 2018

632 Bytes

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)))