आपका काम यह है कि जैसा कि शीर्षक से पता चलता है, एक शब्द का एक बुरा फीका एनीमेशन बनाएं जो आपके लिए सही मायने में दूसरे शब्द में बदल जाए।
वास्तव में यह "फीका एनीमेशन" क्या आप पूछ सकते हैं?
एक शानदार (गीत खराब) फीका एनीमेशन बनाने के लिए, आप दो तार लेते हैं जिसमें केवल मुद्रण योग्य ASCII वर्ण होंगे। आप अपने शुरुआती स्ट्रिंग (दो में से पहला) को प्रिंट करके शुरू करते हैं। फिर, आप बेतरतीब ढंग से मूल शब्द में एक चरित्र को चुनते हैं और इसे उस शब्द में संबंधित वर्ण में बदल देते हैं जिसे आप चेतन करना चाहते हैं। जब शब्द असमान लंबाई के होते हैं, तो आपको उन्हें रिक्त स्थान के साथ पैड करना होगा।
आप तब तक ऐसा करते रहते हैं जब तक कि सभी पात्र बदल नहीं गए हैं, लेकिन आप एक से अधिक बार एक निश्चित सूचकांक में चरित्र को नहीं बदलेंगे । यहाँ एक उदाहरण i / o है:
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
आपको एक फ़ंक्शन या पूर्ण प्रोग्राम लिखना होगा जो एक पत्र को बदलता है और फिर एक सेकंड के वेतन वृद्धि पर नए स्ट्रिंग को प्रिंट करता है। इनपुट प्रारूप ढीला है, लेकिन आउटपुट स्वरूप सख्त है।
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा कोड है।
कुछ परीक्षण मामले (फॉर्म:) init -> final
:
Stringy -> Blingy
Banana -> Republic
United -> States
Make America -> Tissue box
I like walls -> I have small hands
Hello, -> world!
पायथन 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