আপনার কাজটি হ'ল শিরোনামের বিবেচনার সাথেই বোঝানো হয়েছে, সত্যই আপনার জন্য একটি শব্দের একটি দ্বিতীয় বিবৃতিতে পরিণত করার একটি খারাপ বিবর্ণ অ্যানিমেশন।
ঠিক কি হল এই "ফেইড অ্যানিমেশন" আপনি জিজ্ঞাসা করতে পারেন?
দর্শনীয় (লাই খারাপ) বিবর্ণ অ্যানিমেশন তৈরি করতে, আপনি দুটি স্ট্রিং নেন যা কেবলমাত্র মুদ্রণযোগ্য 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