একটি পাসওয়ার্ড পড়ুন: মোবাইলে!


13

এমডি এক্সএফের সাম্প্রতিক চ্যালেঞ্জের জন্য ধন্যবাদ , আমরা এখন বিভিন্ন ভাষায় পাসওয়ার্ডগুলি পড়তে পারি! সমস্যাটি হ'ল, এখন আমাদের মোবাইল অ্যাপ্লিকেশনগুলিতে আমাদের অ্যাপ্লিকেশনগুলি পোর্ট করতে হবে এবং তারা পাসওয়ার্ড এন্ট্রি কিছুটা আলাদাভাবে করে।

চ্যালেঞ্জ

  • কীবোর্ড থেকে একটি স্ট্রিং পড়ুন।
  • প্রতিবার কোনও চরিত্র kপ্রবেশ করানো হলে স্বল্প সময়ের ব্যবধানে এটি প্রদর্শন করুন।
  • সময় ব্যবধান অতিক্রান্ত হওয়ার পরে বা ব্যবহারকারী অন্য একটি চরিত্র প্রবেশ করেছে, kকিছু অক্ষর দিয়ে প্রতিস্থাপন করুন c

বিধি

  • cস্থির হতে হবে; এটি একই চরিত্র হতে হবে।
  • c যে কোনও দৃশ্যমান অক্ষর হতে পারে (যেমন এটি কোনও নতুন লাইন, স্থান, ট্যাব, বা ছাপিয়ে নেওয়া যায় না)।
  • cকোনও ইনপুটযুক্ত উপর ভিত্তি করে করা যাবে না k; cপ্রথমটি kপড়ার আগে অবশ্যই সংজ্ঞায়িত / ধ্রুবক হতে হবে ।
  • c প্রতিবার প্রোগ্রামটি চালানোর সময় একই হওয়া উচিত।
  • ckদুর্ঘটনার দ্বারা প্রদত্ত মানগুলির মধ্যে একটি হতে পারে , যতক্ষণ না অন্য সমস্ত নিয়ম অনুসরণ করা হয়।

  • আপনাকে অবশ্যই kরিয়েলটাইমে মুদ্রণ করতে হবে । ব্যবহারকারী কোনও নতুন প্রবেশ করার সাথে সাথে kআপনাকে অবশ্যই তা অবিলম্বে প্রদর্শন করতে হবে।
  • kপরিবর্তিত হওয়ার আগে শেষ ব্যবহারকারীর কাছে দৃশ্যমান হওয়া উচিত c; সময় বিরতি 0.5 সেকেন্ডের কম হবে না।
  • kcএকটি যুক্তিসঙ্গত সময়ের মধ্যে প্রতিস্থাপন করা উচিত ; সময় বিরতি 5 সেকেন্ড অতিক্রম করবে না।
  • একটি নতুন চরিত্র প্রবেশের সাথে সাথেই, সময় ব্যবধানটির মেয়াদ শেষ হয়ে গেছে কিনা, আপনার kসাথে প্রতিস্থাপন করা উচিত cএবং kতত্ক্ষণাত প্রবেশের কীটি নতুন হিসাবে ব্যবহার করা উচিত ।

  • প্রতিবার আপনার কোনও চরিত্র পরিবর্তন করার প্রয়োজন হলে স্ক্রিনটি সাফ ও পুনরায় আঁকতে গ্রহণযোগ্য।
  • যতক্ষণ না অন্য সমস্ত নিয়ম অনুসরণ করা হয় আপনি ইনপুট এবং আউটপুট সম্পর্কিত যেকোন যুক্তিসঙ্গত পদ্ধতি ব্যবহার করতে পারেন।
  • আপনি ধরে নিতে পারেন যে ইনপুট করা অক্ষরের সংখ্যা টার্মিনাল / গ্রাফিকাল উইন্ডো প্রস্থের চেয়ে বেশি আর নয়।
  • যদি কোনও টার্মিনাল ব্যবহার করে, একটি নতুন লাইন প্রবেশের পরে বা ইওএফ পৌঁছানোর পরে আপনার প্রোগ্রামটি সমাপ্ত করা উচিত।
  • আপনার প্রোগ্রামটি মোবাইল এবং অন্যান্য পরিবেশ উভয় ক্ষেত্রে এখানে বর্ণিত হিসাবে কাজ করবে।

  • আপনার প্রোগ্রামটি ধরে নিতে পারে যে ইনপুটটিতে কেবল মুদ্রণযোগ্য অক্ষর (অক্ষর, সংখ্যা, প্রতীক) এবং সম্ভবত একটি সমাপ্তি নিউলাইন (কোনও ব্যাকস্পেস, তীর কী, মুছুন, ইত্যাদি) থাকবে।
  • Ctrl + C টিপলে আপনার প্রোগ্রামটি শেষ হতে পারে।
  • আপনি যদি কোনও প্রোগ্রাম চালু করেন তবে উইন্ডোটি বন্ধ করে আপনি আপনার প্রোগ্রামটি বন্ধ করতে পারেন।

স্কোরিং

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তরটি জিতে যায়!

উদাহরণ

এটি দেখতে কেমন হওয়া উচিত তার একটি উদাহরণ এখানে। নোট করুন এটি একটি মোবাইল প্ল্যাটফর্মে রেকর্ড করা হয়েছে তবে এটি ডেস্কটপ প্ল্যাটফর্মেও কাজ করা উচিত।

পাসওয়ার্ড


যারা মুছে ফেলা পোস্টগুলি দেখতে পাচ্ছেন, তাদের এখানে স্যান্ডবক্স পোস্ট
সঙ্গীতানুষ্ঠান 523

আপনি ভিডিওতে কোন কীবোর্ড ব্যবহার করছেন?
বিটা ক্ষয়

1
@ বেটাডেকের প্রজ্ঞাপনটির শেষে জেনুই কীবোর্ড
ovs

@ বেটাডেকে এটি বাস্তবে জেনুআইআই কীবোর্ড। শুধু কৌতূহলী, বা এটি কোন ব্যাপার?
musicman523

@ musicman523 ঠিক কৌতূহলী :)
বিটা

উত্তর:


4

এইচটিএমএল + জাভাস্ক্রিপ্ট, 20 + 105 = 125 বাইট

<input id=I oninput=v=I.value;s='*'.repeat(l=v.length-1);I.value=s+v[l];clearTimeout(I.t);I.t=setTimeout(`I.value=s+'*'`,1e3)

kচিঠি প্রবেশ এবং প্রবেশের মধ্যে বিলম্ব *এক সেকেন্ড।

জাভাস্ক্রিপ্ট oninput, বিন্যাসিত

v=I.value;
s='*'.repeat(l=v.length-1);
I.value=s+v[l];
clearTimeout(I.t);
I.t=setTimeout(`I.value=s+'*'`,1e3)

পরীক্ষার স্নিপেট

আরও >ভাল সামঞ্জস্যের জন্য সমাপ্তি বন্ধনী যুক্ত করা হয়েছে ।

<input id=I oninput=v=I.value;s='*'.repeat(l=v.length-1);I.value=s+v[l];clearTimeout(I.t);I.t=setTimeout(`I.value=s+'*'`,1e3)>


যদিও শেষ হবে বলে মনে হচ্ছে না!
অফিসিয়ালাইম

1
@officialaimm চ্যালেঞ্জটি বলেছে যে কেবলমাত্র টার্মিনাল অ্যাপ্লিকেশনগুলির সেগুলি বন্ধ করার উপায় থাকা দরকার।
জাস্টিন মেরিনার

আহ, বোকা আমাকে। দুঃখিত।
অফিসিয়ালাইম

3

পাইথন 3 , 186 224 বাইট

শুধুমাত্র উইন্ডোতে কাজ করে।

import os,time,msvcrt as m
i=s=x=0;t=time.clock
def v():os.system("cls")
v()
while 1:
 if m.kbhit():
  k=str(m.getch())
  if"\\r"in k:break 
  i+=1;x=1;v();print("*"*(i-1)+k[2]);s=t()
 if (t()-s>.6and x):x=0;v();print("*"*i)

পুরানো সংস্করণ (186 বাইট): যে গতিতে কী চাপছিল তা নির্বিশেষে ঘুম বাধ্যতামূলক ছিল।

import os,time,msvcrt
a=k=[];i=0;o=os.system
while 1:
 o("cls")
 if i:print("*"*(i-1)+a[i-1]);time.sleep(.6);o("cls");print("*"*i)
 k=str(msvcrt.getch())
 if"\\r"in k:break
 a+=k[2];i+=1

1
আমি মনে করি না যে এটি পুরোপুরি সমস্ত মানদণ্ডগুলি পূরণ করে, বিশেষত As soon as a new character is entered, whether or not the time interval has expired, you should replace k with c and use the entered key as the new k immediately.যা বলা হচ্ছে, যেহেতু আমি উইন্ডোজ পরিচালনা করি না, আমি এটি পরীক্ষা করতে পারছি না, তাই আমাকে জানান! আপনি এই সম্পর্কিত চ্যালেঞ্জটি একটি রেফারেন্স হিসাবে সহায়ক বলে মনে করতে পারেন
musicman523

আমি ধরে নিয়েছি কে থেকে সিতে প্রতিস্থাপনটি কেবল গ্রাফিকাল (যা আমার কোডে পরিপূর্ণ)। আপনি কি সি এর সাহায্যে কে এর সঞ্চিত মান পরিবর্তন করতে চেয়েছিলেন?
অফিসিয়ালাইম

1
না, এটাই সব হওয়া উচিত। আপনার সময়ের বিলম্ব .6 সেকেন্ড - আমি একে অপরের 1 সেকেন্ডের মধ্যে দুটি অক্ষর টাইপ করলে কী হবে? আপনি এখনও 1.2 সেকেন্ডের জন্য ঘুমাবেন? আবার, দুঃখিত আমি এটি নিজেই পরীক্ষা করতে পারছি না - আপনার কোডটি চালানো কোনও ভিডিও পোস্ট করা ভাল!
musicman523

রুপান্তরিত করা হয়েছে। নতুন সংস্করণটি নিশ্চিত করে যে পূর্ববর্তী চরিত্রের সময় শেষ না হওয়ার আগেই নতুন চরিত্রটি ছুঁড়ে ফেলা যায়।
অফিসিয়ালাইম্ম

3

পাইথন 2 , 133 বাইট

@Officialaimm উত্তরের ভিত্তিতে ।

import time,msvcrt as m
k=T=0
s=p='\r'
while'\r'!=k:
 t=time.time();print s,
 if m.kbhit():k=m.getch();s=p+k;T=t;p+='*'
 if t-T>1:s=p

ওহো, 90 বাইট কম !!! ভোট দেবে কিন্তু আমার প্রতিদিনের সীমাটি পৌঁছে গেছে। এটি পরীক্ষা করার কোনও উপায় আছে (আমার পিসিতে আমার কেবল পাইথন 3 আছে)? বিটিডব্লিউ আমি কোনও পরিষ্কার পর্দা দেখতে পাচ্ছি না, এটি কীভাবে পরিচালিত হয়?
অফিসিয়ালাইম 15

@ আফ্রিকালাইম \rপ্রিন্টের মাধ্যমে
ফিলিপ নারদী বাটিস্তা

1
আমি আমার ক্লাসরুমে উঠলে আমি একটি পাই 3 ভেরিয়েন্ট পোস্ট করব
ফিলিপ

1
@ অফিসিয়ালাইম এটি কাজ করা উচিত, আমি লিনাক্স এটিএম এ থাকি, তাই আমি এটি পরীক্ষা করতে পারি না
ফিলিপ নারদী বাটিস্তা

আমি এটি পরীক্ষা করেছিলাম, এটি কাজ করছে। (y)
অফিসিয়ালাইম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.