1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
def executer(commandes):
print("\t\t\t\t#quoi faire de : ", commandes, "?")
match commandes:
case ['avancer', direction] if direction == "arrière":
print("Avancer vers l'", direction, "???????")
case ['avancer', direction] if direction in ['droite', 'gauche']:
print("Tourner vers la ", direction)
case ['avancer', direction] :
print("Avancer a l'aveuglette vers ", direction)
case 'avancer':
print("Avancer vers nulle part !")
case ['reculer', direction]:
print("reculer: ", direction)
case [action, 'le son', *hauteur] if action in ['augmente', 'coupe']:
print(f'sur le son : {action.upper()}R de :', hauteur)
case [action, 'le son']:
print(f'sur le son, MAUVAISE COMMANDE: {action.upper()}')
case [action, sur, *params]: # if sur in ('volume','son')
print("appel à function volume(action, params) qui fait un autre match case en interne")
case _:
print("?? commande inconnue :", commandes)
# commande :tuple = decouper_ordonner('augmenter le volume de 50 pourcent environ')
# executer(commande)
executer(('avancer','droite'))
executer(('avancer','gauche'))
executer(('avancer','avant'))
executer('avancer')
executer(('reculer', 'droite'))
executer('reculer') # non géré
executer(('avancer','arrière')) # gère l'erreur
executer(('a', 'b'))
executer(('augmente','le son'))
executer(('augmente','le son', '10%'))
executer(('coupe','le son'))
executer(('éteindre','le son')) |