एक पासवर्ड पढ़ें


20

आपकी चुनौती कीबोर्ड / मानक इनपुट से एक "पासवर्ड" पढ़ना है।

चुनौती :

  • एक स्ट्रिंग sअदृश्य रूप से पढ़ें ।
  • प्रत्येक वर्ण के लिए s, एक वर्ण मुद्रित करें c
  • वास्तविक समय में।

नियम:

  • आपको cरियलटाइम में प्रिंट करना होगा । जैसे ही उपयोगकर्ता एक चरित्र में प्रवेश करता है आपको प्रदर्शित करना चाहिए c
  • c स्थिर होना चाहिए, अर्थात यह एक ही वर्ण होना चाहिए।
  • cकोई भी दृश्यमान चरित्र हो सकता है (अर्थात यह एक नई रेखा, स्थान, टैब या अप्राप्य नहीं हो सकता)।
  • cपर आधारित नहीं किया जा सकता है s, यानी cपरिभाषित किया जाना चाहिए / स्थिर से पहले sपढ़ा है।
  • c हर बार कार्यक्रम चलाने के दौरान समान होना चाहिए।
  • csजब तक कि अन्य सभी नियमों का पालन नहीं किया जाता है, तब तक चरित्र में से एक हो सकता है ।
  • sस्क्रीन पर कोई भी चरित्र दिखाई नहीं दे सकता है, cसिवाय (पिछला नियम देखें)।
  • जब तक अन्य सभी नियमों का पालन किया जाता है तब तक आप इनपुट और आउटपुट के किसी भी उचित तरीके का उपयोग कर सकते हैं।
  • आप मान सकते हैं कि लंबाई s/ टर्मिनल विंडो की चौड़ाई से अधिक लंबी नहीं है।
  • यदि टर्मिनल का उपयोग कर रहे हैं, तो एक नई लाइन या ईओएफ दर्ज किए जाने के बाद आपका कार्यक्रम समाप्त हो जाना चाहिए।

उदाहरण :

तो sथा password01और cथा *, उत्पादन कुछ ऐसा दिखाई देगा:

कुंजिका

विजेता :

प्रत्येक भाषा में सबसे कम सबमिशन जीतता है।


साथ अजगर है tkinterहमारे कस्टम इनपुट क्षेत्र (HTML में एक की तरह) के लिए अनुमति दी है, इस तरह है कि कार्यक्रम कब प्रविष्ट दबाया जाता है समाप्त नहीं करता है, लेकिन आप बंद करते हैं Entry(Windows पर एक्स और की खिड़की cmd+ Wमैक पर)?
श्री एक्सकोडर

@ Mr.Xcoder हाँ, यह मान्य है।
एमडी एक्सएफ

क्या हम टर्मिनल में शाब्दिक नई रेखा का प्रतिनिधित्व करने के लिए Ctrl + J का उपयोग कर सकते हैं? वैकल्पिक रूप से, क्या हम प्रवेश के बजाय Ctrl + Z का उपयोग कर सकते हैं?
कॉनर ओ'ब्रायन

@ ConorO'Brien यह स्पष्ट करता है कि टर्मिनल में इनपुट कैसे समाप्त होना चाहिए।
एमडी एक्सएफ

2
यदि उपयोगकर्ता बैकस्पेस दबाता है तो क्या होना चाहिए?
20

जवाबों:


6

str , 5 बाइट्स

n=?,1

एक बग के कारण, यह 5 बाइट्स है। यह केवल 1 बाइट होना चाहिए:

1

<Code> n = ?, 1 </ code> का निष्पादन


निश्चित रूप cmderसे आपकी Ctrl+Zटिप्पणी के कारण आने वाले उत्तर को देखा : पी
एमडी एक्सएफ

नौकरी के लिए 10/10 सही उपकरण
एरिक आउटगोलर

20

HTML, 20 बाइट्स

<input type=password


वैकल्पिक: HTML + जावास्क्रिप्ट, 51 बाइट्स

यद्यपि ओपी ने पुष्टि की है कि वैध होने के लिए, यहां शुद्धतावादियों के लिए जेएस का उपयोग करके समाधान है!

<input id=i oninput=i.value=i.value.replace(/./g,8)


4
FGITW, कोई भी? : पी (उसे सचमुच दस सेकंड ले लिया)
एमडी एक्सएफ

oninput=_=>i.value=i.value.replace(/./g,"*")एक बाइट बचाता है।
अर्जुन

चूंकि cकुछ भी हो सकता है, आप दो और बाइट्स बचा सकते हैंoninput=_=>i.value=i.value.replace(/./g,1)
अर्जुन

मैं इस बारे में चिंता करूँगा कि अगर (जब) ​​कोई मेरे HTML के एकमात्र समाधान को अवैध घोषित करता है, तो # अर्जुन;) मैंने केवल JS को एक साथ कुछ लोगों को गिराने के लिए जल्दी से फेंक दिया!
झबरा

6
स्पष्टीकरण कहां है, मुझे समझ नहीं आया।
मैजिक ऑक्टोपस Urn

11

विम, 36 बाइट्स:

:im <C-v><CR> <C-v><esc>ZQ<CR>:au I<tab><tab> * let v:char=0<CR>i

इस का उपयोग करता है विम कुंजी अंकन , इसलिए <C-v>है नियंत्रण-वी , <CR>दर्ज है, <esc>भागने की कुंजी है, और <tab>टैब कुंजी है।

c है '0'

बाइट की गिनती को सही साबित करने के लिए यहां एक हेक्सडंप दिया गया है:

00000000: 3a69 6d20 160a 2016 1b5a 510a 3a61 7520  :im .. ..ZQ.:au 
00000010: 4909 0920 2a20 6c65 7420 763a 6368 6172  I.. * let v:char
00000020: 3d30 0a69                                =0.i

यह निम्नलिखित दो पूर्व कमांड चलाकर काम करता है:

:imap <CR> <esc>ZQ
:autocmd InsertCharPre * let v:char=0

पहले वाले का मतलब है

:imap               " Anytime the following is pressed in insert mode:
      <CR>          "   (the 'enter' key)
           <esc>ZQ  " Then act as if the user instead pressed '<esc>ZQ' (close the buffer)

और दूसरा मतलब है

:autocmd                                " Automatically as vim runs:
         InsertCharPre                  "   Any time the user is about to insert a char
                       *                "   In any type of file
                         let v:char=0   "     Then instead insert a '0' character

मुझे लगता है कि बहुत कम से कम स्थानों को नजरअंदाज किए बिना अपनी वर्तमान पद्धति का उपयोग करके मेरे लिए इस पर उतरने का कोई तरीका नहीं है। अच्छा जवाब!
nmjcman101

o_O यह साफ-सुथरा है ...
श्री एक्सकोडर


6

एसीटो , 8 7 6 बाइट्स

,!`XpO

स्पष्टीकरण:

एक चरित्र पढ़ें ( ,), इसे नकारें ( !) और सशर्त रूप से बाहर निकलें। स्टैक के शीर्ष पर शून्य प्रिंट करें (p ) और शुरुआत में वापस जाएं।

साथ दौड़ो -F तुरंत प्रभावी देखने के लिए (क्योंकि निस्तब्धता)

मेरा पहला समाधान सैंडबॉक्स पोस्ट पर आधारित था, जिसमें प्रतिस्थापन पात्रों के रूप में रिक्त स्थान की अनुमति थी और प्रवेश पर बाहर निकलने की आवश्यकता नहीं थी (4 बाइट्स):

,'p>

5

POSIX पर C, 128 117 113 96 बाइट्स

-11 के लिए क्वेंटिन termios.h
के लिए धन्यवाद -4 क्वेंटिन के माध्यम से खोज करना मेरी बेवकूफ गलतियों को इंगित करता है
-17 क्योंकि क्वेंटिन एक भयावह विज़ार्ड है।

c,t[15];f(){for(tcgetattr(1,t),t[3]&=~10,tcsetattr(1,0,t);(c=getchar())^10&&c^4;)printf(".");}

यह STDIN को कच्चे / अदृश्य मोड में डाल देता है, ताकि इसे रियल टाइम में keypresses मिल सके। यह 77 बाइट्स लेता है और मुझे यकीन है कि मैं इसे थोड़ा सा गोल्फ कर सकता हूं। ध्यान दें कि यह बाहर निकलने पर STDIN को रीसेट नहीं करता है तो यह आपके टर्मिनल को गड़बड़ कर देगा यदि आप ऐसा मैन्युअल रूप से नहीं करते हैं।

यहां बताया गया है कि आप STDIN को कैसे रीसेट कर सकते हैं:

void stdin_reset(void)
{
    struct termios t;
    get_stdin(&t);
    t.c_lflag |= ECHO;
    t.c_lflag |= ICANON;
    set_stdin(&t);
}

जैसा कि GIF में दिखाया गया है :-)


1
मेरे में खुदाई termios.h, ECHOहै 0000010और ICANONहै 0000002। इसका मतलब है कि ~(ECHO|ICANON)सिर्फ ~10:)
क्वेंटिन

@ क्वेंटिन एडिटेड! चीयर्स: डी
एमडी एक्सएफ

1
इसके अलावा, प्रत्येक !=को ( ^और UTF-8 को संभालने के '\n'साथ 10) बदला जा सकता है ;)
क्वेंटिन

2
यदि हम पूर्ण यूबी जाते हैं, तो हम tपूर्णांक की एक सरणी के साथ भंडारण को बदल सकते हैं। फिर c_lcflagsसमाप्त होता है t[3], और हमें #includeकुल 94 बाइट्स के नाम या प्रकार और न ही और न ही की आवश्यकता है : c,t[15];f(){for(tcgetattr(1,t),t[3]&=~10,tcsetattr(1,0,t);(c=getchar())^10&&c^4;)printf(".");}- लेकिन हो सकता है कि आपने मुझे अपने साथ मज़े करने के बजाय एक उत्तर के रूप में पोस्ट किया हो :)
क्वेंटिन

1
@ क्वेंटिन ओह ... माय। तुम एक जादूगर हो। और मुझे लगा कि मैं सी में अच्छा था ... यदि आप इसे अपने स्वयं के उत्तर के रूप में पोस्ट करना चाहते हैं तो मैं स्वतंत्र महसूस करूंगा और मैं अपने संपादन को रोलबैक करूंगा, अन्यथा मैं इसे अपने संपादन में छोड़ दूंगा।
एमडी एक्सएफ

4

MS-DOS पर x86 मशीन कोड - 14 बाइट्स

हमेशा की तरह, यह एक पूर्ण COM फ़ाइल है, जिसे डॉसबॉक्स पर चलाया जा सकता है, साथ ही अधिकांश डॉस वेरिएंट भी।

00000000  b4 08 b2 2a cd 21 80 f4  0a 3c 0d 75 f7 c3        |...*.!...<.u..|
0000000e

टिप्पणी विधानसभा:

    org 100h

section .text

start:
    mov ah,8h       ; ah starts at 08h (read console, no echo)
    mov dl,'*'      ; write asterisks (we could have left whatever
                    ; startup value we have here, but given that dx=cs,
                    ; we have no guarantee to get a non-zero non-space
                    ; value)
lop:
    ; this loop runs twice per character read: the first time with
    ; ah = 08h (read console, no echo syscall), the second time with
    ; ah = 02h (write console); a xor is used to switch from one
    ; mode to the other
    int 21h         ; perform syscall
    xor ah,0ah      ; switch syscall 08h <=> 02h
    cmp al,0dh      ; check if we read a newline (if we wrote stuff
                    ; we are just checking the last value read, so
                    ; no harm done; at the first iteration al starts
                    ; at 0, so no risk here)
    jne lop         ; loop if it wasn't a newline
quit:
    ret             ; quit

2
...बिल्कुल नहीं। वह आश्चर्यजनक है।
एमडी एक्सएफ

धन्यवाद, लेकिन मुझे लगता है कि ट्रिम करने के लिए अभी भी कुछ और है; कि xorएक woppin '3 बाइट्स की है, और अगर मैं इसे पूरे पर काम किया जाता बड़ा के रूप में वास्तव में हो सकता है ax; मैंने कोशिश की xor ax,0a0dh/ test al,al, लेकिन यह सिर्फ उतना ही बड़ा है क्योंकि बेवकूफ testदो बाइट्स हैं, जीआरआर ...
माटेओ इटालिया



3

जावा 5-8, 125 122 131 124 बाइट्स

class X{public static void main(String[]a){new java.awt.Frame(){{add(new javax.swing.JPasswordField());setVisible(1>0);}};}}

Ungolfed:

class X{
    public static void main(String[]a){
        new java.awt.Frame(){
            {
                add(new javax.swing.JPasswordField());
                setVisible(1>0);
            }
        };
    }
}

परिणाम:

यहां छवि विवरण दर्ज करें

क्रेडिट:

-3 @MD XF (मेरी बेवकूफ़ गलती के साथ इंगित String[]args)

-7 @KritiiLithos ( public classकेवल बताया जा सकता है class)


1
है String[]argsआवश्यक?
एमडी एक्सएफ

@MDXF अगर मैं जावा 8 के लिए उत्तर बनाना चाहता हूं तो सामान की आवश्यकता है जो मैं कर सकता था। हालाँकि, मैं इसे एक सामान्य जावा उत्तर बना रहा हूँ। हालाँकि, हाँ, मैं यह कर सकता हूँ String[]a
मैजिक ऑक्टोपस Urn

आप गोल्फ के जवाब को अपडेट करना भूल गए। इसके अलावा, 1>0मूल्यांकन नहीं करता है 1?
एमडी एक्सएफ

@MDXF इन Java (< 8)- का 1>0मूल्यांकन करता है true, जो अलग है। मैं ग्रूवी में यही उत्तर पोस्ट करूंगा।
मैजिक ऑक्टोपस Urn

@StephenS यह एक सामान्य जावा उत्तर है, जावा 8 उत्तर नहीं।
मैजिक ऑक्टोपस Urn

3

गणितज्ञ 34 बाइट्स

 InputString["",FieldMasked->True];

एक एकल तारांकन तब दिखाई देता है, जब प्रत्येक वर्ण को बंद कर दिया जाता है। खाली उद्धरण चिह्न उस शीर्षक के लिए होते हैं, जो पॉप-अप इनपुट विंडो में दिखाई देता है।

;रोकता है पासवर्ड से मुद्रित किया जा रहा।

यहां छवि विवरण दर्ज करें


जानबूझकर अग्रणी स्थान?
एमडी एक्सएफ

2

विम, ५ V ५० ५२ ५० बाइट्स

यह सुनिश्चित करने के लिए जोड़ा गया कि यह रिक्त स्थान को ठीक से संभाले।

मदद और विचारों का एक समूह के लिए @DJMcMayhem के लिए धन्यवाद

i:im 32 *Y94pVGg
kWcW<Space>
:im 
 ZQ
dG@"qi

नीचे विशिष्ट विम कुंजी सिंटैक्स में। वर्णों को एक के साथ चिह्नित किया ^जाता है Ctrl+<char>, इसलिए ^Q=Ctrl+q

i:im ^V^V32 *^[Y94pVGg^A
kWcW<Space>^[
:im ^V
 ZQ
dG@"qi

कोई TIO लिंक नहीं है, क्योंकि आपको सीधे Vim पर इनपुट की आवश्यकता होगी (जैसा कि सामान्य की तरह प्री-इनपुटिंग के विपरीत है)। कोड को चलाने के लिए आपको इसे Vim में टाइप करना होगा, और फिर आप अपना पासवर्ड और हिट दर्ज कर सकते हैं। यह पासवर्ड के साथ कुछ नहीं करेगा। यह भी नहीं पता होगा कि यह क्या था। जैसे ही आप हिट करते हैं विम विंडो में प्रवेश करेंगे:q!

यह *डालने के मोड में सभी मुद्रण योग्य ASCII मैपिंग, और मैपिंग <CR>से काम करता है<ESC>:q!<CR>


शायद स्पष्ट करें कि प्रतीक क्या हैं? मुझे लगता है कि वे होना चाहिए, <C-v>, <esc> and <C-a>लेकिन यह बताना मुश्किल है।
DJMcMayhem

@DJMcMayhem करेगा। संयोग से मुझे लगता है कि आप उन्हें विम में पेस्ट कर सकते हैं और वे उचित रूप से दिखाएंगे।
nmjcman101


2

एफएलटीके, 47 अक्षर

Function{}{}{Fl_Window{}{}{Fl_Input{}{type 5}}}

नमूना रन:

bash-4.4$ fluid -c password.fl

bash-4.4$ fltk-config --compile password.cxx 
g++ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -o 'password' 'password.cxx' -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -lfltk -lX11

bash-4.4$ ./password 

नमूना उत्पादन:

FLTK में पासवर्ड इनपुट


2

प्रसंस्करण, 53 बाइट्स

String a="";void draw(){text(keyPressed?a+=0:a,9,9);}

यह एक ग्राफिकल विंडो से keypresses के माध्यम से इनपुट लेता है। यह जिस वर्ण के साथ पासवर्ड का प्रतिनिधित्व करता है वह है 0। ध्यान दें कि उच्च फ्रैमरेट के कारण, प्रत्येक की-वर्ड एकाधिक 0एस के रूप में दिखाई देगी (और इस तथ्य के कारण भी कि यह है keyPressedऔर नहीं keyTyped(बुलियन नहीं) या keyrelease)।

gif


2

बैश , 54 बाइट्स

while read -eN1 c 2>&-;[[ ${c/$'\r'/} ]];do printf X;done

स्कोरिंग उद्देश्यों के लिए, $'\r'शाब्दिक कैरिज रिटर्न के साथ प्रतिस्थापित किया जा सकता है।

इसे ऑनलाइन आज़माएं! (ज्यादा देखने के लिए नहीं)


2

ZX81 बुनियादी, 54 बाइट्स

10 IF LEN INKEY$ THEN GOTO PI
30 IF NOT LEN INKEY$ THEN GOTO EXP PI
50 IF INKEY$>"Z" THEN STOP
70 PRINT "*";
90 GOTO PI

ZX81 वर्ण सेट में मुद्रण योग्य वर्ण सीमा स्थान में हैं Z, हालाँकि आप वास्तव में इस तरह से एक स्थान को इनपुट नहीं कर सकते क्योंकि यह विराम वर्ण है।

जेडएक्स स्पेक्ट्रम बेसिक, 24 बाइट्स

10 PAUSE NOT PI: IF INKEY$>=" " THEN PRINT "*";:GOTO PI

ध्यान दें कि >=Sinclair BASIC में सिंगल-बाइट कीवर्ड के रूप में गिना जाता है (इस मामले में कोडपॉइंट 140)।


क्या लाइन संख्या और कार्यों के बीच रिक्त स्थान आवश्यक हैं?
एमडी XF

आप को छोटा किया जा सका PRINTकरने के लिए ?, मैं पुराने बुनियादी बोलियों का एक बहुत में है कि काम करता है पता है
एमडी XF

@MDXF PRINTएक 1-बाइट टोकन है, यह सिर्फ 7 अक्षरों ( THENप्रमुख स्थान को दबाए जाने के बाद को छोड़कर) के रूप में स्क्रीन पर दिखाया जाता है।
नील

2

आर, 29 बाइट्स

invisible(openssl::askpass())

बिल्ट-इन उस पासवर्ड पासवर्ड को संभालता है। एक नई विंडो खोलता है और डॉट्स के साथ इनपुट को बदलता है। invisibleपासवर्ड को STDOUT में दबाने के लिए उपयोग किया जाता है।


2

Tcl / Tk, 18

gri [ent .e -sh *]

इंटरैक्टिव शेल में चलाया जाना चाहिए (या संक्षिप्त रूप से सक्षम होना चाहिए):

यहां छवि विवरण दर्ज करें


मुश्किल आदेश के बिना 21 बाइट्स: grid [entry .e -sh *]और इसके -shलिए एक विकल्प संक्षिप्त नाम है -show। 23 बाइट्स है जो मैं एक ऐसा करने के लिए एक बनाए रखने योग्य ungolfed कार्यक्रम के लिए न्यूनतम पर विचार करेंगे ।
डोनल फेलो

2

विम, 15 कीस्ट्रोक्स

:cal inp<S-tab>'')|q<cr>

<S-tab>का मतलब है shift + tab

जाहिरा तौर पर, इसके लिए एक बिल्टइन है, जिसके बारे में मुझे जानकारी नहीं थी। चूंकि मुझे वास्तव में मेरा मैनुअल उत्तर पसंद है , और यह दृष्टिकोण मौलिक रूप से अलग है, मुझे लगा कि मुझे संपादन के बजाय एक नया उत्तर पोस्ट करना चाहिए।

यह inputsecretफ़ंक्शन को कॉल करके काम करता है , फिर बाहर निकलने के तुरंत बाद छोड़ देता है।


2

6502 मशीन कोड (C64), 22 21 बाइट्स

0e 08 20 9f ff 20 e4 ff f0 f8 c9 0d f0 01 a9 60 20 d2 ff 50 ed

उपयोग :SYS 2062

असंतुष्ट लिस्टिंग (ACME) पर टिप्पणी की गई, आप RUNएक बार लोड होने के बाद लॉन्च करने के लिए पहले तीन टिप्पणी लाइनों को अनसुना कर सकते हैं :

!cpu 6502
!to "password2.prg",cbm
;* = $0801                               ; BASIC starts at #2049
;!byte $0d,$08,$dc,$07,$9e,$20,$32,$30   ; BASIC to load $c000
;!byte $36,$32,$00,$00,$00               ; inserts BASIC line: 2012 SYS 2062

    GETIN  =  $FFE4
    SCNKEY =  $FF9F
    CHROUT =  $FFD2

* = $080e
keyScan:
    jsr SCNKEY  ; get key
    jsr GETIN   ; put key in A

    beq keyScan ; if no key pressed loop    

    cmp #13     ; check if RETURN was pressed
    beq $081b   ; if true go to operand of next instruction (#$60 = rts)

    lda #$60    ; load char $60 into accumulator
    jsr CHROUT  ; print it

    bvc keyScan ; loop

टिप्पणियाँ:

  • मुझे डॉक्स में कुछ भी नहीं मिला है, लेकिन ऐसा लगता है कि, GETIN कॉल के बाद, केवल ऐसी शाखाएँ जहाँ कोई नई कुंजी प्रेस दर्ज नहीं की गई हो;
  • आउटपुट चार्ट के रूप में # $ 60 का उपयोग करते हुए, उस बाइट को "आरटी" निर्देश के रूप में पुन: उपयोग किया जा सकता है जब आरईटीआरएनएन दबाया जाता है।

2

फोर्थ (gforth) , 54 बाइट्स

: f begin key dup 4 - swap 13 - * while ." *" repeat ;

व्याख्या

begin      \ enters the loop
    key    \ waits for a single character as input, places ascii code of character on stack
    dup    \ duplicates the key value on the stack
    4 -    \ subtracts 4 from the key value (shorter way of checking for not equals)
    swap   \ swaps the top two stack values
    13 -   \ subtract 13 from the key value
    *      \ multiply top two stack values (shorter version of "and")
while      \ if top of stack is true, enter loop body, else exit loop
    ." *"  \ output *
repeat     \ go back to beginning of loop

1

पायथन 3 + tkinter- 63 61 बाइट्स

from tkinter import*
t=Tk();Entry(show=1).pack();t.mainloop()

1विंडो बंद करते समय प्रत्येक वर्ण के लिए प्रदर्शित होता है, (ओपी ने कहा कि इसकी अनुमति है)।

Gif


काम करेगा from tkinter import*(न्यूलाइन) Entry(show=1).pack();Tk().mainloop()?
कॉनर ओ'ब्रायन

@ कॉनर'ब्रायन परीक्षण
श्री एक्सकोडर

@ ConorO'Brien नहीं। यह दो अलग-अलग tkinterविंडो का निर्माण करता है । एक पाठ क्षेत्र के साथ, एक खाली। यह मुझे सही नहीं लगता।
श्री Xcoder

क्या आपको जरूरत है show=?
फल

@ चैलेंजर 5 हां, हमें जरूरत हैshow=
श्री एक्सकोडर

1

ग्रूवी, 77 73 बाइट्स

{new java.awt.Frame(){{add(new javax.swing.JPasswordField());visible=1}}}

यह एक अनाम क्लोजर है, जिसमें 0 आवश्यक इनपुट हैं।

Ungolfed:

{
    new java.awt.Frame() {
        {
            add(new javax.swing.JPasswordField())
            visible=1
        }
    }
}

1 संपादित करें (-4 बाइट्स): घटक # दिखाई सीधे पहुँचा जा सकता है, यहाँ और पढ़ें


1

माइक्रो , 35 बाइट्स

"":i{L46c:\
i~+:i
i10c=if(,a)}a
i:\

explination:

"": मैं नया रिक्त स्ट्रिंग बनाता हूं 'i'
    {इनपुट लूप शुरू करें
     एल एक चरित्र इनपुट
      46c: \ display ascii char # 46 (?) (यह पॉप होता है, 'L' से इनपुट char छोड़ता है
           मैं ~ +: मैं धक्का, मैं फ्लिप और चारों ओर चार, उन्हें समेटना, और कि मैं करने के लिए दुकान
                i10c = if (a)} एक ठीक है, यहां बहुत कुछ होता है, यदि कोई NL i में है, तो लूप समाप्त हो जाता है, और अंतिम i: \ इनपुट प्रदर्शित करेगा


1
यह एक भाषा में बहुत अच्छा पहला प्रयास है! +1
एमडी एक्सएफ

1

बीएफ, 24 बाइट्स

++++++[->++++++<],[>.<,]

Bf.doleczek.pl के साथ काम करता है । आप Ctrl + Z के साथ कार्यक्रम में एक शून्य चार्ट भेज सकते हैं।

दूसरा तरीका:

बीएफ, 1 बाइट

,

यह एक बहुत ही जीभ-इन-गाल समाधान है। मेरा टर्मिनल 0 वर्णों वाला है, इसलिए कृपया इससे अधिक लंबा कोई पासवर्ड न डालें।


वाह ... बुरा नहीं है!
एमडी एक्सएफ

@MDXF क्या आप 24 बाइट एक या 1 बाइट एक की बात कर रहे हैं?
फल

स्पष्ट रूप से 24-बाइट एक। मैं पूरी तरह से भूल गया कि छपाई \bएक चीज है। : पी
एमडी एक्सएफ

@MDXF तुम क्या मतलब है? \bवैसे भी अप्राप्य है।
फल

नहीं, मेरा मतलब है कि आपका समाधान \bइनपुट को ओवरराइड करने के लिए उपयोग करता है, सही है?
एमडी एक्सएफ

1

पॉवरशेल, 12 बाइट्स

Read-Host -a

यह मेजबान से इनपुट को पढ़ता है और -a ध्वज के साथ इसे एक securestring / पासवर्ड के रूप में मानता है। ISE में यह एक मैसेज बॉक्स को पॉप अप करता है जिसमें समान व्यवहार होता है क्योंकि ISE कीपर कैप्चर की अनुमति नहीं देता है।

PS C:\Windows\system32> Read-Host -a
************

1

QBasic, 48 बाइट्स

DO
a$=INPUT$(1)
IF ASC(a$)=13THEN END
?"*";
LOOP

INPUT$(1)कीबोर्ड इनपुट से अगला वर्ण पढ़ता है। (इसमें टैब, बैकस्पेस, और भागने जैसी चीजें शामिल हो सकती हैं, लेकिन चूंकि ओपी ने उन लोगों के बारे में कुछ नहीं कहा, जिनके बारे में मुझे लगता है कि हमें उनके बारे में चिंता करने की ज़रूरत नहीं है।) यदि चरित्र है \r(ASCII 13), समाप्त करें। कार्यक्रम; अन्यथा, *एक नई लाइन के बिना प्रिंट करें । दोहराएँ विज्ञापन infinitum।


1

पर्ल + बैश, 30 बाइट्स

print"*"while$|=1+`read -sn 1`

cहै *, का उपयोग करता है readबैश से है, तो एक शुद्ध पर्ल समाधान नहीं है।


1

ब्रेनफक, 21 बाइट्स

-[+>,[<->+[<.>[-]]]<]

पिछले एक, मैं वादा करता हूँ। कोई इनपुट = -1, इनपुट का अंत = 0 नहीं

यह काम किस प्रकार करता है

-[  Enters the loop
  +>, Get input
     [<->+ If not end of input it create the ÿ character and check if the input is not -1
          [<.>[-]]] If there was input, print the ÿ character. 
                    <] Exit the loop if end of input

आपका कोड एक समापन ब्रैकेट गुम है। और आप इसे जटिल क्यों बनाते हैं? एक सरल "हर इनपुट चरित्र के लिए एक '' प्रिंट" एक सरल,[>-.,]
डोरियन

@ डोरियन ब्रैकेट एक गलती थी, लेकिन जटिलता कोई इनपुट और इनपुट के अंत दोनों को संभालने से उत्पन्न होती है
जो किंग

0

QBIC , 44 बाइट्स

{X=inkey$~X<>@`|~X=chr$(13)|_X\Y=Y+@*`_C?Y

व्याख्या

{            DO
X=inkey$     Read a char, set it to X$
             Note that INKEY$ doesn't wait for keypress, but simply sends out "" if no key was pressed.
~X<>@`|      IF X$ has a value THEN
~X=chr$(13)| IF that value is ENTER
_X           THEN END
\            ELSE
Y=Y+@*`      append a literal * to Y$
_C           Clear the screen
?Y           Display Y$ (having 1 * for each char entered)
             The IF's and the DO-loop are auto-closed at EOF{            DO
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.