অধীর আগ্রহে ইনপুটটির জন্য অপেক্ষা করুন


39

আপনার কাজটি আজ ইনপুট পাওয়ার জন্য একটি সময়সীমা বাস্তবায়ন করা, এমন একটি কাজ বেশিরভাগ ভাষায় অর্জন করার জন্য আমি বিরক্তিকর বলে মনে করেছি।

আপনি এমন একটি প্রোগ্রাম ফাংশন তৈরি করবেন যা ব্যবহারকারীকে ইনপুট দেওয়ার জন্য অনুরোধ করবে। তাত্ক্ষণিকভাবে ব্যবহারকারী ইনপুট সরবরাহ করার পরে, বার্তাটি মুদ্রণ করে input receivedএবং সম্পাদন / রিটার্ন শেষ করে। যাইহোক, যদি ব্যবহারকারী ইনপুট সরবরাহ করতে 10 সেকেন্ডের বেশি অপেক্ষা করে তবে বার্তাটি আউটপুট দেয় no input receivedএবং সম্পাদন / রিটার্ন শেষ করে।

ইনপুট অবশ্যই stdin(কনসোল) বা সমতুল্য হতে হবে, ফাংশন বা প্রোগ্রাম আর্গুমেন্ট নয়, তবে আউটপুট stdoutআপনার ফাংশনের রিটার্ন মান বা অন্য কোনও স্বীকৃত আউটপুট পদ্ধতিতে হতে পারে।

আপনি যে কোনও পরিমাণ ইনপুট চাইতে পারেন, এটি একক অক্ষর, একটি লাইন, একটি শব্দ বা আপনার ভাষাতে যতটা পদ্ধতি সংক্ষিপ্ত হোক না কেন যতক্ষণ না এটি কমপক্ষে একটি চরিত্রের জন্য অপেক্ষা করে।

ইনপুটটি পাওয়ার সাথে সাথে আপনাকে অবশ্যই আউটপুট দিতে হবে, 10 সেকেন্ড কেটে যাওয়ার পরে নয়।

10 সেকেন্ড কেটে যাওয়ার পরে , আপনাকে অবশ্যই শেষ করতে হবে , আপনি no input receivedমুদ্রিত হওয়ার পরে ইনপুটটির জন্য অপেক্ষা করতে পারবেন না ।

আপনি ধরে নিতে পারেন যে স্ক্রিনে 10 সেকেন্ড সময় ব্যয় এবং পাঠ্য প্রিন্ট হওয়ার মধ্যে ইনপুটটি পাস করা হয়নি, কারণ এটি একটি অত্যন্ত ছোট উইন্ডো। আপনি ধরেও নিতে পারেন যে আপনার ভাষার অন্তর্নির্মিত সমতুল্য sleepধারাবাহিকভাবে, একেবারে নিখুঁত।

এটি , সবচেয়ে কম বাইট জয়!


6
গল্ফিংয়ের ভাষাগুলি তাদের অভিধান ব্যবহার করা থেকে বিরত রাখার জন্য সুন্দর স্পর্শের জন্য +1। ওহ, এবং দুর্দান্ত চ্যালেঞ্জ।
অ্যাডম

1
@ অ্যাডাম যদি না আপনার ভাষায় সময়সীমা সহ কোনও বিল্টিন না পড়ে থাকে তবে আমি মনে করি এটি করার একমাত্র ভাল উপায় হ'ল ওএস / থ্রেড ম্যাজিক, যা বেশিরভাগ গল্ফিং ভাষা কোনওভাবেই করতে পারে না।
পাভেল

এখন আমার প্রোগ্রামটি আবার লিখতে হবে। পোস্ট করার জন্য প্রায় প্রস্তুত ছিল ... ;-)
অ্যাডম

1
@TheLethalCoder আপনি আপনার ভাষার সমান sleepকার্যকারিতার সমতুল্য সময় 100% ধরে নিতে পারেন ।
পাভেল

1
@ ল্যাম্বিক আপনি সেখানে যান, একটি পাইথন উত্তর।
পাভেল

উত্তর:


24

বাশ, 38 বাইট

read -t10||a=no;echo $a input received

এটি -tবাশ-এর ​​(টাইমআউট) বিকল্পটি ব্যবহার করে read, যার ফলে এটি ব্যর্থ হয়ে যায় এবং যদি সেকেন্ডের নির্দিষ্ট সংখ্যায় কোনও ইনপুট না দেওয়া হয় তবে একটি ননজারো প্রস্থান কোডটি ফেরত দেয়।


6
এটি "(না) ইনপুট রেক অর্থাত্ ওয়েড" বলার কথা যা গুরুত্বপূর্ণভাবে অভিধানগুলির সাহায্যে গল্ফিং ভাষাকে বাধা দেয়।
অ্যাডম

8
@ আদম আসলে এটি একটি টাইপো
পাভেল

7
@ ফিনিক্স নূ!
অ্যাডম

1
কেন a = না তবে $ এ? কোন উদ্দেশ্য আছে? সম্পাদনা আমি পেয়েছি আমি প্রশ্নটি সঠিকভাবে পড়িনি
ফেলিক্স গুও

12

হাস্কেল, 97 89 বাইট

import System.Timeout
timeout(10^7)getChar>>=putStr.(++"input received").maybe"no "mempty

যদি timeoutসময়ের বাইরে চলে আসে Nothingএবং Just Char( অন্যথায় Char, কারণ আমরা ব্যবহার করছি getChar)। এই রিটার্ন মানটি ফাংশনে "no "বা রূপান্তরিত হয় । যোগ করুন এবং মুদ্রণ করুন।""maybe "no " mempty"input received"

সম্পাদনা করুন: @ বিএমও maybeকিছু বাইট প্রস্তাবিত এবং সংরক্ষণ করেছে।


মনে হয় না যে এটি সঠিকভাবে চালাচ্ছে gh
ম্যাপেল_শ্যাফট

@ ম্যাপেল_শ্যাফ্ট: ঝেসিসি-র মধ্যে আপনাকে এর সাথে আবদ্ধ gহতে হবে let: let g Nothing="no ";g _=""তবে ফাংশন কলটি timeout....আমার পক্ষে ঠিক কাজ করে।
নিমি

1
আপনি প্রতিস্থাপন করতে পারেন gদ্বারা maybe"no "(pure"")যা খাটো হয় এবং আপনি এমনকি এটি ইনলাইন করতে পারেন - আপনি 6 বাইট সংরক্ষণ।
5

@ বিএমও: চমৎকার! memptyপরিবর্তে (pure"")এমনকি আরও খাটো হয়।
নিমি

খুব সুন্দর, আসলেই চালাক!
ბიმო

11

পসিক্স সি 99, 71 63 বাইট

main(){puts("no input received"+3*poll((int[]){0,1},1,10000));}

Ungolfed:

#include <unistd.h>
#include <poll.h>
#include <stdio.h>
int main()
{
  struct pollfd pfd; 
  pfd.fd = STDIN_FILENO; 
  pfd.events = POLLIN;  
  puts("no input received"+3*poll(&pfd,1,10000));
}

যেহেতু pollসাফল্যের ক্ষেত্রে 1 ফিরে আসবে, তাই আমরা ফলাফলটি 3 দ্বারা গুণিত করি এবং সেই অনুযায়ী স্ট্রিংটি স্থানান্তর করি। তারপরে, আমরা struct pollfdনিম্নলিখিত লেআউটটি রয়েছে এমন সত্যটি ব্যবহার করি :

     struct pollfd {
     int    fd;       /* file descriptor */
     short  events;   /* events to look for */
     short  revents;  /* events returned */
 };

এবং যে STDIN_FILENOহয় 0, POLLINহয় 1প্রতিস্থাপন pfdসঙ্গে int pfd[] = {0,1}, যা আমরা পরিশেষে (যেমন C99 দ্বারা অনুমতি দেওয়া হয়েছে) একটি যৌগ litteral ভুলবেন না।


3
আপনাকে অবশ্যই উল্লেখ করতে হবে যে এই শিরোনামটি POSIX কে লক্ষ্য করে, কারণ poll.hশিরোনামটি C99 ভাষা মানের অংশ নয়।
কোডি গ্রে

8

আপেলস্ক্রিপ্ট, 113

অ্যাপ্লস্ক্রিপ্ট সত্যই স্টাডিন থেকে পড়তে পারে না। আশা করি display dialogএখানে একটি গ্রহণযোগ্য হবে:

({"","no "}'s item((display dialog""default answer""giving up after 10)'s gave up as integer+1))&"input received"

6

এপিএল (ডায়ালগ) , 41 40 বাইট

'no input received'↓⍨{3*⍨⎕RTL10::03⊣⍞}

এটি একটি বেনাম ট্যাসিট ফাংশন যা চালানোর জন্য একটি ডামি যুক্তি প্রয়োজন

'no input received' পুরো স্ট্রিং

↓⍨ সংখ্যাটি যে হিসাবে ফিরে এসেছে তার সামনে থেকে যতগুলি অক্ষর রয়েছে তা ফেলে দিন

{ বেনামে সুস্পষ্ট ফাংশন ( যুক্তি বোঝায়)

⎕RTL←10 সেট আর esponse টি IME এল দশ সেকেন্ড imit

3*⍨ এই সংখ্যাটি (দশ) তিনটির শক্তিতে বাড়িয়ে দিন (এক হাজার অর্থ "সমস্ত")

:: ব্যতিক্রমগুলি (সমস্ত) এর উপর,

  0 ফিরে 0

 চেষ্টা করে দেখুন:

   ইনপুট পান

  3⊣ এটি বাতিল করুন এবং পরিবর্তে 3 ফিরে আসুন

}ফাংশনের সমাপ্তি (দ্রষ্টব্যটি কখনই উল্লেখ করা হয়নি)


6

পার্ল , 74 67 বাইট

$m="input received";$SIG{ALRM}=sub{die"no $m\n"};alarm 10;<>;say$m

পুরাতন রুপ

$m="input received";$SIG{ALRM}=sub{die "no $m\n"};alarm 10;<stdin>;say $m;

(পার্ল -M5.10.1 এর মাধ্যমে চালান ...)


আউটপুটে কোনও পিছনে নতুন লাইনের প্রয়োজন নেই, যাতে আপনি কাটাতে পারেন \n
পাভেল

3
পিপিসিজিতে আপনাকে স্বাগতম!
পাভেল

আসলে আপনি প্রয়োজন হবে না -M5.10.1। আপনি শুধু প্রতিস্থাপন করতে পারেন -eসঙ্গে -E। (যদি আপনার প্রয়োজন -M5.10.1হয় তবে আপনাকে আপনার স্কোরের জন্য একটি পেনাল্টি যোগ করতে হবে)
ব্র্যাড গিলবার্ট

ফিনিক্স, এর আচরণের \nকারণেই এটি রয়েছে die: "যদি তালিকাটির শেষ উপাদানটি একটি নতুন লাইনে শেষ না হয় তবে বর্তমান স্ক্রিপ্ট লাইন নম্বর এবং ইনপুট লাইন নম্বর (যদি থাকে )ও মুদ্রিত হয় এবং একটি নতুন লাইন সরবরাহ করা হয়।" সুতরাং এটি ছাড়া "প্রদর্শিত হবে না কোনও ইনপুট -e লাইন 1।" তবে অবশ্যই, এটি স্ট্রিংয়ে আক্ষরিক লাইন বিরতি হতে পারে। যে পাশে মধ্যে শূণ্যস্থান dieএবং sayএবং তাদের প্যারামিটার প্রয়োজন হয় না। ফাইনালের জন্য একই ;। এবং <>স্ট্যান্ডার্ড ইনপুট থেকে পড়তে যথেষ্ট।
manatwork

1
আপনি যদি evalSTDIN থেকে পড়ে থাকেন তবে আপনি কোনও dieবার্তার প্রয়োজন এড়াতে পারেন । আসলে, একটি রানটাইম এরর কাজ করে ঠিক যেমন ভাল: $SIG{ALRM}=sub{&0};alarm 10;say'no 'x!eval'<>','input received'
প্রিমো

6

পার্ল 6 ,  72  66 বাইট

my $s='input received';Promise.in(10).then:{say "no $s";exit};get;say $s

কোনও ইনপুট ছাড়াই এটি চেষ্টা করুন ইনপুট দিয়ে
চেষ্টা করুন

my$s='input received';start {sleep 10;say "no $s";exit};get;say $s

কোনও ইনপুট ছাড়াই এটি চেষ্টা করুন ইনপুট দিয়ে
চেষ্টা করুন

my $s = 'input received'; # base message

start {         # create a Promise with a code block
                # that is run in parallel
  sleep 10;     # delay for 10 seconds
  say "no $s";  # say 「no input received」
  exit          # exit from the process
}

get;            # get a line from the input
say $s          # say 「input received」

1
"আমার প্রবন্ধটি ইনপুট পুনরুদ্ধার করা হয়েছে - 10 এ প্রতিশ্রুতি দিন তারপরে 'নো প্রবন্ধ' বলুন এবং প্রস্থান করুন বা 'এসএস' বলুন"
বিড়াল

আপনি startএবং এর মধ্যে স্থান সরাতে পারেন {?
পাভেল

@ ফিনিক্স এটিকে একটি সিগিললেস ভেরিয়েবলের নাম অনুসারে এসোসিয়েটিভ ইনডেক্সিং হিসাবে বিভক্ত করা হবে start, তাই না।
ব্র্যাড গিলবার্ট b2gills

আপনার টিআইও লিঙ্কগুলি আর কাজ করবে না বলে মনে হচ্ছে।
পাভেল

@ পাভেল, ফিক্সড, ডামি টেস্ট ক্লাসটি কেবল আইওর একটি সাব টাইপ তৈরি করতে হয়েছিল :: হ্যান্ডেল করুন এবং .newএটিতে কল করুন
ব্র্যাড গিলবার্ট 202

5

সি #, 180 171 148 131 বাইট

()=>{var t=new System.Threading.Thread(()=>{System.Console.ReadKey();});t.Start();return(t.Join(10000)?"":"no ")+"input recieved";}

@ ভিজুয়ালমেলনের জন্য 17 বাইট সংরক্ষণ করা হয়েছে।

সম্পূর্ণ / ফর্ম্যাট সংস্করণ:

class P
{
    static void Main()
    {
        System.Func<string> f = () =>
        {
            var t = new System.Threading.Thread(() =>
            {
                System.Console.ReadKey();
            });
            t.Start();

            return (t.Join(10000) ? "" : "no ") + "input recieved";
        };

        System.Console.WriteLine(f());
        System.Console.ReadLine();
    }
}

কেন namespaceএবং কোনও usingনির্দেশনা নয়?
পাভেল

@Phoenix তাই তারা সব সংরক্ষণ এর বাইট তারা যাহাই হউক না কেন একটি নামস্থান হবেusing
LiefdeWen

আপনি কেন গুরুত্বপূর্ণ পদক্ষেপটি অ্যাকশন হিসাবে সংরক্ষণ করেছেন এবং এরপরে এটি কার্যকর করেছিলেন? আমি সত্যিই এটি নির্দিষ্ট করে প্রশ্নটি দেখতে পাচ্ছি না।
তুষারপাত

1
থেকে ফেরত মান ব্যবহার করে বেশ একটু সংরক্ষণ করতে পারবেন Thread.Join(int), (পরিত্রাণ c, হারান ধনুর্বন্ধনী, ইত্যাদি ইত্যাদি): var t=new System.Threading.Thread(()=>System.Console.ReadKey());t.Start();return(t.Join(10000)?"":"no ")+"input recieved";(VB.NET ইতিমধ্যে এই কাজ বলে মনে হয়)
VisualMelon

1
@ টেলরস্কট আমি এটি করতে পারি 1e4তবে এটি একটি doubleএবং আমার একটি কাজ করতে হবে intতাই আমাকে করতে হবে (int)1e4:( ভাল ধারণা যদিও
TheLethalCoder

5

টিআই-বেসিক, 84 77 বাইট

-7 ধন্যবাদ @ কামোরোসো ৪৪-কে

:startTmr→T         //Start Timer, 5 bytes
:Repeat checkTmr(T)=10 or abs(int(.1K)-8)≤1 and 1≥abs(3-10fPart(.1K  //Loop until the timer is 10 seconds or a number key is pressed, 32 bytes
:getKey→K           //get key code, 4 bytes
:End                //end loop, 2 bytes
:"NO INPUT RECEIVED //Push string "NO INPUT RECEIVED" to Ans, 18 bytes
:If K               //If input was received, 3 bytes
:Disp sub(Ans,3,15  //Diplay "INPUT RECEIVED", 9 bytes
:If not(K           //If no input, 3 bytes
:Ans                //Display "NO INPUT RECEIVED", 1 byte

একটি সংখ্যা চাপ না দেওয়া পর্যন্ত অপেক্ষা করুন।

আমি অনুক্রমটি কীভাবে গল্ফ করব তা বোঝার চেষ্টা করছি {72,73,74,82,83,84,92,93,94}। এটি অনেক জায়গা নিচ্ছে।


আপনি যদি কেবল কোনও কীটির জন্য অপেক্ষা করতে চান তবে Repeat K or 10=checkTmr(Tতা করবেন।
বিবি

এছাড়াও, শেষ 4 টি লাইন সংক্ষিপ্ত করা যেতে পারে:4-3not(K:sub("NO INPUT RECEIVED",Ans,18-Ans
বিবি

1
@ বিবি ৯৪ আমি কেবল কোনও কীটির জন্য অপেক্ষা করতে চাই না, কারণ এগুলি আসলে কোনও চরিত্রকে ইনপুট করে না। এটি Shiftকম্পিউটারে কীটির জন্য অপেক্ষা করার মতো হবে । এছাড়াও, আপনার পদ্ধতির সাথে শেষ 4 টি লাইন সংক্ষিপ্ত করা আমার হিসাবে একই বাইট গণনা দেয়। যদিও আপনার পদ্ধতিটি আমি পছন্দ করি।
স্কট মিলনার

আপনি যে কোনো একটি কি নয় 21 বা 31 জন্য চেক পারে
bb94

orআপনার পুনরাবৃত্তি বিবৃতি দেওয়ার পরে , এটি পরিবর্তে -7 বাইটের জন্য ব্যবহার করুন:abs(int(.1K)-8)≤1 and 1≥abs(3-10fPart(.1K
কামোরোসো94

4

নোডজেএস, 105 103 101 বাইট

-2 @apsillers ধন্যবাদ বাইট
-2 সরিয়ে বাইট console.log()মধ্যেexit()

with(process)stdin.on('data',r=x=>exit(console.log((x?'':'no ')+'input received'))),setTimeout(r,1e4)

কোনও ফাইলে সংরক্ষণ করে নোড দিয়ে চালনা করুন বা এটি করে কমান্ড লাইন থেকে সরাসরি চালান node -e "<code>"


ইউপ্স ইউলস, ভাল ক্যাচ
জাস্টিন মেরিনার

@ অ্যাপসিলাররা console.log()কলটি আসলে প্যারামিটারে সরাতে আমি আবার সম্পাদনা করতে যাচ্ছিলাম exit()। এখন দুটো কম।
জাস্টিন মেরিনার

4

জাভাস্ক্রিপ্ট (ES6) + এইচটিএমএল, 86 84 82 79 + 11 = 97 95 93 90 বাইট

setTimeout(oninput=_=>i.remove(alert(`${i.value?"":"no "}input received`)),1e4)
<input id=i

চেষ্টা করে দেখুন

একটি ক্লোজিং প্রয়োজন >উপর inputএকটি স্নিপেট কাজ করার জন্য।

setTimeout(oninput=_=>i.remove(alert(`${i.value?"":"no "}input received`)),1e4)
<input id=i>


1e5 100,000 বা 100 সেকেন্ড, 1e4 10 সেকেন্ড
PunPun1000

ওহো! ভাল স্পটেড, ধন্যবাদ, @ পুনপুন1000
শেগি

লেখার 10বদলে কি ছোট হবে না 1e4?
musicman523

@ মিউজিকম্যান ৫২৩, 10১০ মিলি সেকেন্ড হবে , চ্যালেঞ্জ চ্যালেঞ্জটি বিশেষত 10 সেকেন্ড বলে , যা 10000 মিলি সেকেন্ড1e4
শেগি

আমার খারাপ, এটি ভুলে গেছি 10 != 1e4কারণ আমি বোকা
musicman523

3

ভিবি.নেট - 174 বাইট

Module M
Sub Main()
Dim t=New Threading.Thread(Sub()Console.Read()):t.Start():Console.WriteLine(If(t.Join(10000),"","no ") & "input received"):End
End Sub
End Module

COBOL সংস্করণ আগামীকাল আসছে ;-)


3
লাইনগুলির সাথে একত্রিত করার সুবিধা কী তা আমি নিশ্চিত নই :। এটি লাইন ব্রেক হিসাবে একই সংখ্যক বাইট নেয়, তাই এটি গল্ফ স্কোরটি উন্নতি না করে পঠনযোগ্যতা হ্রাস করে।
কোডি গ্রে

@ কোডি গ্রে আমি বিশ্বাস করি যে :লাইন ব্রেকের বিকল্পটি এমন হতে পারে যাতে পুনরাবৃত্তি না করে ট্রেডিং কলটি ইনলাইন হিসাবে ঘোষণা করা যেতে পারে - তবে এটি বলেছে যে আমি ইতিবাচক নই, আমার মূল ভাষাটি ভিবিএ যা <স্ট্রাইক> কনসোল থেকে থ্রেডিং বা পড়া সমর্থন করে না < / ধর্মঘট> তত্ক্ষণাত উইন্ডোটি ফাংশন সংজ্ঞা বা কল করার সময় থেকে সহায়তা করে: পি
টেলর স্কট

3

যান, 149 বাইট

package main
import(
."fmt"
."time"
."os"
)
func main(){
o:="input received"
go func(){Sleep(1e10)
Print("no "+o)
Exit(0)}()
i:=""
Scan(&i)
Print(o)}

3

এএইচকে , 67 বাইট

2 বাইট ব্লুহির্ন দ্বারা সংরক্ষণ করা

InputBox,o,,,,,,,,,10
s:=ErrorLevel?"no ":
Send %s%input received

এএইচকে ইনপুট বাক্সগুলির জন্য অন্তর্নির্মিত সময়সীমা রয়েছে।
আমি !oপরিবর্তে চালাক এবং ব্যবহার করার চেষ্টা করেছি ErrorLevelতবে ব্যবহারকারী যদি একটি মিথ্যা মান দেয় তবে তা ব্যর্থ হয়।
উত্তরের প্রায় অর্ধেকটি হ'ল কমান্ডের নাম এবং নির্দিষ্ট পাঠ্য।


1
সব কমা কাকে বলে?
পাভেল

@ ফিনিক্স সম্ভবত ইনপুটবক্সের পক্ষে যুক্তিগুলি মেনে
চলেন

@ ফিনিক্স Timeoutপ্রায় শেষ প্যারামিটার:InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]
ইঞ্জিনিয়ার টোস্ট

দুটি চর সংক্ষিপ্ত:s:=errorLevel?"no ":
ফিল 294

@ ব্লাউহির্ন গাহ! আমি বোকা। ধন্যবাদ।
ইঞ্জিনিয়ার টোস্ট

3

পাইথন 3, 100 89 83 71 বাইট

import pty
print("no input received"[3*any(pty.select([0],[],[],10)):])

প্রথমে গল্ফ করার চেষ্টা করুন।

-4 এর জন্য any(), -7 কাটানোর জন্য, ধন্যবাদ @ ব্যবহারকারী 2357112!

-6, পরিবর্তে select()থেকে পেতে ।ptyselect


আপনি কেটে নিতে কিছু slicing দ্বারা বাইট "no input received": STRING "no input received"[3*bool(...):]
ব্যবহারকারী 2357112

আপনি any(...)পরিবর্তে ব্যবহার করতে পারেন bool(...[0])
ব্যবহারকারী 2357112

-নউ ইউজার: "উইন্ডোজ এ এটি মডিউল নটফাউন্ডএরার ছুড়ে ফেলেছে: '
টের্মিওস

ptyমডিউলটি কেবল লিনাক্স প্ল্যাটফর্মগুলিতে উপলভ্য, তবে আমি কেবল এটি ব্যবহার করছি কারণ এর নামটি সংক্ষিপ্ত এবং এটি selectউপলব্ধ করে। সংস্করণ 2 সম্ভবত উইন্ডোজে আরও ভাল কাজ করে।
শেঠ

3

পাওয়ারশেল, ১১০ বাইট

$s1=date;while(![console]::KeyAvailable-and($i=((date)-$s1).seconds-lt10)){}
"{0}input received"-f(,'no ')[$i]

3

পাইথন 3, 158 বাইট

import os,threading as t,time
def k(t=10):time.sleep(t);print("No input received"[(10-t)//3:]);os.kill(os.getpid(),t)
t.Thread(None,k).start()
if input():k(0)

আমি সেথের পাইথন 3 উত্তর চালানোর চেষ্টা করেছি তবে উইন্ডোজ এটি ছুঁড়েছে ModuleNotFoundError: No module named 'termios', এবং যেহেতু আমি তার উত্তর সম্পর্কে মন্তব্য করতে পারি না, তাই আমি পরিবর্তে প্ল্যাটফর্মটি স্বাধীন হওয়া উচিত এমন একটি সমাধান নিয়ে আসার সিদ্ধান্ত নিয়েছি।

এটি আমার প্রথমবারের মতো গল্ফ করছে তাই আমি নিশ্চিত যে এটির উন্নতি হতে পারে।


2
পিপিসিজিতে আপনাকে স্বাগতম!
স্টিডিবক্স


2

স্মাইলব্যাসিক 3, 74 বাইট

"যে কোনও ইনপুট হিসাবে গণনা করা উচিত" কোনও বোতাম টিপে অপেক্ষা করে ইনপুট গ্রহণ করে

M=MAINCNT@L
N=MAINCNT-M>599CLS?"NO "*N;"INPUT RECEIVED
ON N+BUTTON()GOTO@L

আউটপুট "(না) ইনপুট প্রাপ্ত" হওয়া উচিত, "ইনপুট (নয়) প্রাপ্ত" হওয়া উচিত
পাভেল

2

স্ক্র্যাচ 2 / 3.x, 41 পয়েন্ট ( ব্যাখ্যা )

অধৈর্য টাইমার

1: জিএফ ক্লিক করলে

1: জিজ্ঞাসা [] এবং অপেক্ষা করুন

1 + 14 অক্ষর: বলুন [ইনপুট প্রাপ্ত]

1: থামুন [সমস্ত v] (দ্রষ্টব্য: যেহেতু "সমস্ত" এটির ডিফল্ট সেটিংস ছিল আমি ব্লকটিকে 1 হিসাবে গণনা করেছি)

1 + 2 সংখ্যা: অপেক্ষা (10) সেকেন্ড

1 + 17 অক্ষর: বলুন [কোনও ইনপুট প্রাপ্ত হয়নি]

1: থামুন [সমস্ত v]


পিসিজিতে আপনাকে স্বাগতম!
রাহুল ভরদ্বাজ

1

> <> , 43 + 6 = 49 বাইট

a/!/i0(?\~"input recieved"r>o<
o "\?:-1/r"n

এটি অনলাইন চেষ্টা করুন!

-t.08পতাকাটির জন্য +5 , যা 0.08 সেকেন্ডে টিক সেট করে, এবং aপতাকাটির জন্য +1 , যা সাদা স্থান এবং গণনা হিসাবে বাদ দেওয়া নির্দেশকে গণ্য করে।

প্রোগ্রামটি প্রতি সেকেন্ডে প্রায় একবার ইনপুট অনুসন্ধান করে এবং ইনপুট সনাক্ত হলে লুপ থেকে বেরিয়ে যায়। যদি ইনপুট গ্রহণ না করা noহয় তবে এটি স্ট্রিংয়ের শুরুতে যুক্ত হয়ে নীচ থেকে লুপটি প্রস্থান করে । প্রাথমিকটি /হ'ল এটি নিশ্চিত করা হয় যে ইনপুটটির জন্য সর্বশেষ চেকটি 10 ​​সেকেন্ডের ঠিক চিহ্নে রয়েছে।

এরপরে স্ট্রিংটি নিজে মুদ্রণ করতে প্রায় 5-6 সেকেন্ড সময় লাগে।


-at.08বাইট সংরক্ষণ করতে আপনি একক পতাকা ব্যবহার করতে পারেন ।
পাভেল

@ পাভেল, ধন্যবাদ!
জো কিং

1

জাভা 1.4+, 284 বাইট

import static java.lang.System.*;public class X{public static void main(String[]x){new Thread(){public void run(){try{Thread.sleep(10000L);}catch(Exception e){}out.print("no input recieved");exit(0);}}.start();new java.util.Scanner(System.in).nextLine();out.print("input recieved");}}

Ungolfed:

import static java.lang.System.*;

public class InputAndWait {
    public static void main(String[] x) {
        new Thread() {
            public void run() {
                try {
                    Thread.sleep(10000L);
                } catch (Exception e) {
                }
                out.print("no input recieved");
                exit(0);
            }
        }.start();
        new java.util.Scanner(System.in).nextLine();
        out.print("input recieved");
    }
}

দয়া করে সংস্করণ-ভিত্তিক জাভা উন্নতির প্রস্তাব করবেন না, এটি জেনেরিক জাভা উত্তর যা বর্তমানে সমস্ত স্থিতিশীল জাভা এনভায়রনমেন্টে (1.4 এবং উপরে) কাজ করে।


খুব কথায় কথায় শব্দ করা ... ধরা দরকার, ফেলে দেওয়া যায় না। সিস্টেম আমদানি 5 বাইটের মতো শেভ করে ... ওভারলোডিংটিও শব্দযুক্ত, সুতরাং এটি শব্দহীন-গল্ফযুক্ত-দৃষ্টিনন্দন জগাখিচুড়ি শেষ করে।


এটা হতে হবে 10000Lএবং না 10000? আমি ভেবেছিলাম কালিগুলি স্বয়ংক্রিয়ভাবে দীর্ঘায়িত হয়।
পাভেল

1

জুলিয়া 0.6 , 78 বাইট

আমার প্রত্যাশার চেয়ে দীর্ঘ "কোনও ইনপুট পুনরুদ্ধার করা হয়নি" টিআইও লিঙ্কের জন্য মন্তব্যগুলি দেখুন।

s="input recieved"
Timer(x->(show("no "*s);exit()),10)
readline(STDIN)
show(s)

এটি অনলাইন চেষ্টা করুন!


1
এটি টিআইওতে আটকায় না কারণ এটি কোনও ফাইল থেকে পড়ে। এটি ইওএফকে হিট করে এবং তাত্ক্ষণিকভাবে শেষ হয়। আপনি একটি প্রক্রিয়া যা কখনো Tio উপর প্রোগ্রামে নতুন লাইন নির্গত নল, এটা ব্লক করব: tio.run/##JcqxDoIwEIDhvU9x6ULPCNXFxejk4uIiowvaSzgDLekVReO7V4Pb/...
পাভেল

0

স্মাইলব্যাসিক, 74 73 বাইট

M=MAINCNT
WHILE!I*M>MAINCNT-600I=INKEY$()>"
WEND?"no "*!I;"input received

ইনপুট 1 অক্ষর লাগে।

এবং একটি 39 বাইট সমাধান যা সম্ভবত বৈধ নয় (আসলে পাঠ্য ইনপুট গ্রহণ করে না, কেবলমাত্র একটি OKবোতাম রয়েছে যা আপনি টিপতে পারেন)

?"no "*!DIALOG("",,,10);"input received
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.