Stai fondando un club di programmazione segreto con alcuni amici e con amici di amici. Non tutti si conoscono tra loro, così tu e i tuoi amici avete deciso di creare una stretta di mano segreta da usare per riconoscere chi è un membro. Non vuoi che chi non è del giro riesca a decifrare il codice.
Avete progettato il codice in modo che una persona dica un numero tra 1 e 31 e l'altra lo trasformi in una serie di azioni.
Il tuo compito è convertire un numero compreso tra 1 e 31 in una sequenza di azioni della stretta di mano segreta.
La sequenza di azioni si sceglie guardando le cinque cifre più a destra del numero una volta convertito in binario. Inizia dalla cifra più a destra e procedi verso sinistra.
Le azioni per ogni posizione sono:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
Usiamo il numero 9 come esempio:
1001.wink.Questa era l'ultima cifra, quindi il codice finale è:
wink, jump
Dato il numero 26, che in binario è 11010, otteniamo le seguenti azioni:
La stretta di mano segreta per 26 è quindi:
jump, double blink
Se non sei sicuro di cosa sia il sistema binario o di come funzioni, dai un'occhiata a questo tutorial sul sistema binario.
Per mantenere le cose semplici (e per concentrarti sulla parte importante di questo esercizio), i test forniranno alla funzione delle stringhe binarie come argomenti:
>>> commands("00011")
["wink", "double blink"]
Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.