Twoim zadaniem jest, jak dyskretnie sugeruje tytuł, wykonanie złej animacji zanikania jednego słowa, zmieniając się naprawdę w drugie.
Czym dokładnie jest ta „animacja zanikania”, o którą możesz zapytać?
Aby stworzyć spektakularną (kiepską) animację zanikania, bierzesz dwa ciągi znaków, które będą zawierały tylko znaki ASCII do wydrukowania. Zaczynasz od wydrukowania łańcucha początkowego (pierwszego z dwóch). Następnie losowo wybierasz znak w oryginalnym słowie i zmieniasz go na odpowiedni znak w słowie, który chcesz animować. Gdy słowa są nierównej długości, ty musi pad je spacjami.
Robisz to dalej, dopóki wszystkie postacie nie zostaną zmienione, ale nie zmienisz postaci pod pewnym indeksem więcej niż jeden raz . Oto przykład we / wy:
Hey -> Peeps
Hey # original string
Hey s # replace char at index 4
Hey s # replace char at index 1
Pey s # replace char at index 0
Pee s # replace char at index 2
Peeps # replace char at index 3
Musisz napisać funkcję lub pełny program, który zmienia literę, a następnie drukuje nowy ciąg co 1 sekundę. Format wejściowy jest luźny, ale format wyjściowy jest ścisły.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.
Niektóre przypadki testowe (Form:) init -> final:
Stringy -> Blingy
Banana -> Republic
United -> States
Make America -> Tissue box
I like walls -> I have small hands
Hello, -> world!
Odwołanie do implementacji w Python 2:
import random
import time
def F(c,f):
print c # before we do stuff
if len(c)>len(f):f+=" "*(len(c)-len(f)) # add padding part 1
if len(f)>len(c):c+=" "*(len(f)-len(c)) # add padding part 2
c, f = list(c), list(f)
ai = [i for i in range(len(c))] # a list for keeping track
while len(ai) > 0: # of available indices
time.sleep(1) # 1 second pause...
i = ai.pop(random.randint(0,len(ai)-1)) # get a random index and remove
c[i] = f[i] # it from the list
print ''.join(c) # print the new string