मैजिक 8 बॉल बनाएं


34

एक बच्चे के रूप में, मेरे दोस्त के पास एक जादू की 8 गेंद थी जिससे हम सवाल पूछते थे और देखते थे कि उस सवाल का भाग्य क्या था।

चुनौती

आपकी चुनौती एक प्रोग्राम (या फ़ंक्शन) लिखना है जिसे चलाने (या बुलाया), आउटपुट (या रिटर्न) नीचे दिए गए संभावित उत्तरों में से एक यादृच्छिक उत्तर देता है। (रैंडम किया जा रहा है: each output should have a nonzero chance of occurring but they do not need to meet any other criteria)

मैजिक 8-बॉल से संभावित उत्तर हैं (केस-असंवेदनशील):

It is certain
It is decidedly so
Without a doubt
Yes definitely
You may rely on it
As I see it, yes
Most likely
Outlook good
Yep
Signs point to yes
Reply hazy try again
Ask again later
Better not tell you now
Cannot predict now
Concentrate and ask again
Don't count on it
My reply is no
My sources say no
Outlook not so good
Very doubtful

इनपुट

कोई निवेश नहीं।

उत्पादन

ऊपर से एक यादृच्छिक विकल्प। मामला मायने नहीं रखता।

नियम

मानक खामियों की अनुमति नहीं है।

यह , इसलिए प्रत्येक भाषा के लिए बाइट्स में सबसे छोटा कोड जीत जाता है!


2
मैंने "कोई इनपुट की अनुमति नहीं" को "कोई इनपुट" नहीं बदला, कुछ भाषाओं को इनपुट के रूप में रिक्त / अशक्त तर्क की आवश्यकता होती है।
R

12
क्या यह मुझे या किसी को हर जवाब देना है ??????
डाट

1
@ इस पर चर्चा करने के लिए मैंने मेटा में यहाँ कुछ पोस्ट किया । मैंने हर उत्तर को उत्कीर्ण किया है, जैसा कि मैं हमेशा उन उत्तरों के लिए करता हूं जो मेरे प्रश्नों पर आवश्यकताओं को पूरा करते हैं। हो सकता है एक मध्यस्थ हस्तक्षेप करेगा ...
विकासशील

37
@ दातSigns point to yes
mbomb007

1
@ mbomb007 मेरी पसंदीदा टिप्पणी मैंने अब तक PPCG पर देखी है!
DevelopingDeveloper

जवाबों:


22

SOGL V0.12 , 166 बाइट्स

,▓a⁰²z○½℮ķčλ─fj[Ycψ-⁸jΔkÆΞu±⁄│(┼∞׀±q- υ~‼U/[DΓ▓νg⁸⅝╝┘¤δα~0-⁄⅝v⁄N⁷⁽╤oο[]āŗ=§№αU5$┌wΨgΘ°σΖ$d¦ƨ4Z∞▒²÷βΗ◄⁴Γ■!≤,A╬╤╬χpLΧ⁸⁽aIΘād⁵█↔‚\¶σΞlh³Ζ╤2rJ╚↓○sēχΘRψΙ±ιΗ@:┌Γ1⁷‘Ƨ! ΘlΨιw

यह कोशिश करो!

\ o / हर शब्द SOGLs शब्दकोश में था!


यह एक कमाल का जवाब है !!!
डेवलपिंगडबलप्टर

मैं SOGL के कम्प्रेशन इंजन पर एक नज़र डालना पसंद करूंगा, लेकिन दुर्भाग्य से, मैं जावास्क्रिप्ट नहीं बोलता :(
caird coinheringaahing

रुको, SOGL एक जावास्क्रिप्ट-आधारित भाषा है?
झबरा

@cairdcoinheringaahing SOGL प्रसंस्करण में लिखा गया है, और प्रासंगिक संपीड़न फ़ाइलें यहां और यहां हैं । हालांकि प्रसंस्करण एक जावा-आधारित भाषा है: p
dzaima

18

> <> , 438 बाइट्स

x|o<"Yep"
x|^"Most likely"
x|^"Signs point to yes"
x|^"As I see it, yes"
x|^"Without a doubt"
x|^"Ask again later"
x|^"Don't count on it"
x|^"Cannot predict now"
x|^"Very doubtful"
x|^"My reply is no"
x|^"My sources say no"
x|^"Outlook not so good"
x|^"Reply hazy try again"
x|^"Better not tell you now"
x|^"Concentrate and ask again"
x|^"It's certain"
x|^"Outlook good"
x|^"Yes definitely"
x|^"You may rely on it"
x|^"It is decidedly so"

इसे ऑनलाइन आज़माएं!

यह दिलचस्प नहीं है, लेकिन मुझे लगता है कि यह पहला जवाब है जहां यादृच्छिकता एक समान नहीं है। मैं कम से कम संभावना के रूप में सभी नकारात्मक संदेश डाला :)

कुछ स्पष्टीकरण:

सूचक पहली पंक्ति में सही जाना शुरू कर देता है। xएक यादृच्छिक कार्डिनल दिशा में सूचक को बदलता है। यदि यह ऊपर या नीचे जाता है, तो यह एक अलग सामना करता है x। यदि यह सही हो जाता है, तो यह उछलता है |और समान हिट करता है x। यदि यह बाईं ओर जाता है, तो यह चारों ओर घूमता है और स्टैक पर उस रेखा के पाठ को धकेलता है। अधिकांश लाइनें फिर उसी ट्रैक से टकराती हैं, ^जो दिशा को ऊपर की ओर बदलता है। यह oपहली पंक्ति पर लूप करता है , जो स्टैक को खाली होने तक आउटपुट करता है। विशेष मामला Yepलाइन है, जिसके |o<बजाय क्षैतिज लूप है ।


7
मैं इसका उपयोग करूंगा। यह (लगभग) हमेशा सकारात्मक प्रतिक्रिया देता है। दुर्भाग्य से जवाब में भी बदबू आती है ...
मान लीजिए

15

पायथन 2, 369 368 बाइट्स

print"It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split('.')[id(0)/7%20]

पायथन 3, 371 बाइट्स

print("It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split('.')[hash(id)%20])

मैं पहले hashबिल्टइन टू इंडेक्स ( hash(id)%20) का उपयोग कर रहा था , जो कि https://bugs.python.org/issue13703 के बाद से कभी भी पायथन इंटरप्रेटर का एक यादृच्छिक मूल्य शुरू होता है । यह (हमेशा 0) खाली-स्ट्रिंग के लिए यादृच्छिक नहीं है, इसलिए कुछ और उपयोग करने की आवश्यकता है, idबिलिन!

दूसरे नज़र में, मैं idसीधे उपयोग कर सकता था , लेकिन यह हमेशा संख्याओं का उत्पादन करने के लिए लगता है। IIRC, id(object)CPython में सिर्फ स्मृति स्थान देता है object, इसलिए यह समझ में आता है। हो सकता है कि अगर मैंने Jython या IronPython का इस्तेमाल किया, तो मैं डिवाइड-बाय -7 को छोड़ सकता हूं। वैसे भी, hash(id)बनाम id(0)//7पायथन 3 में बराबर है, लेकिन /बाइट को बचाते हुए पायथन 2 में पूर्णांक विभाजन को विभाजित करने के लिए ऑपरेटर का उपयोग कर सकते हैं ।


13

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

"It is certain0It is decidedly so0Without a doubt0Yes definitely0You may rely on it0As I see it, yes0Most likely0Outlook good0Yep0Signs point to yes0Reply hazy try again0Ask again later0Better not tell you now0Cannot predict now0Concentrate and ask again0Don't count on it0My reply is no0My sources say no0Outlook not so good0Very doubtful"-split0|Random

इसे ऑनलाइन आज़माएं!

उबाऊ। सभी परिणाम, के साथ एक साथ concatenated ले जाता है 0, रों तब -splitपर एस 0तार की एक सरणी बनाने के लिए। उस सरणी को पास करता है Get-Randomजिसमें से उनमें से एक को बेतरतीब ढंग से चुनेंगे। यह पाइपलाइन पर छोड़ दिया गया है और आउटपुट निहित है।


11

पायथन 2 , 385 बाइट्स

-1 बाइट ओवस के लिए धन्यवाद।

from random import*
print choice("It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split('.'))

इसे ऑनलाइन आज़माएं!


22
@Downvoter, क्या मैं पूछ सकता हूं कि आपने हर उत्तर को क्यों अस्वीकृत कर दिया है ?
21

7
मुझे संदेहास्पद मतदान व्यवहार के रूप में प्रभावित करता है, मैं सुझाव दूंगा कि मॉड के ध्यान के लिए प्रश्न को चिह्नित करें ताकि वे जांच कर सकें।
झबरा

9

अप्पलास्क्रिप्ट, 391

मुझे पसंद है कि AppleScript की सूचियों में एक some itemविधि कैसे है:

{"It is certain","It is decidedly so","Without a doubt","Yes definitely","You may rely on it","As I see it,yes","Most likely","Outlook good","Yep","Signs point to yes","Reply hazy try again","Ask again later","Better not tell you now","Cannot predict now","Concentrate and ask again","Don't count on it","My reply is no","My sources say no","Outlook not so good","Very doubtful"}'s some item

5
3, 2, 1 में मीन-सर्पिल डाउनवॉटर-ऑफ-ऑल-आंसर का जवाब दें ... जाओ - मैं आपको प्रकट करने की हिम्मत करता हूं कि आप कौन हैं और अपने डाउनवॉएशन औचित्य को समझाएं। या आप छाया में गुमनाम रूप से दुबकना जारी रखेंगे?
डिजिटल ट्रामा

7

बैश + जीएनयू उपयोगिताओं, 230

  • 15 बाइट्स ने @ डेनिस को धन्यवाद दिया।
sed 1d $0|zcat|shuf -n1
# zopflied 8 ball list

बाइनरी ज़ोफ़्ली आउटपुट का अच्छी तरह से यहाँ प्रतिनिधित्व नहीं किया गया है; इसके बजाय आप स्क्रिप्ट को base64 एन्कोडेड डेटा से फिर से बना सकते हैं:

base64 -d << EOF > 8ball.sh
c2VkIDFkICQwfHpjYXR8c2h1ZiAtbjEKH4sIAAAAAAACAz1QSZJCMQjd5xRv1fOlMEGlzIdfgbRF
n75NOayYeYMExFF5BImWe9W4SuPWE27lKnG2GSA0m4coyWvhKCrBPUvaxEaJcStgColCDoEzQ+IH
t/WymQe6XNa+zehmF5zMWknei8tJHbuJBsKw9gfvPXGmv0SMBJ0WNfLLPUOn4FEOHMEDaoHg3rGI
qF1LJV29fXCTGveWaWWNQcEgbXi9Ks30PVBtauBOfkvc4cWhtkq3OSo7nBJqLwELxO2u45dH3u05
zv4=
EOF

ध्यान दें, जैसा कि प्रश्न द्वारा अनुमत है, संपीड़ित डेटा सभी निचले मामलों में विघटित हो जाता है। यह zopfli संपीड़न को थोड़ा अधिक कुशल बनाता है और 16 बाइट्स बचाता है।


tail +2मेरे लिए काम नहीं करता है, लेकिन sed 1d $0वैसे भी एक बाइट बचाता है। इसके अलावा, चूंकि एसटीडीआरआर को आउटपुट डिफ़ॉल्ट रूप से अनुमति है, मुझे नहीं लगता कि आपको इसकी आवश्यकता है exit। साथ ही, कार्यक्रम के अंतिम दस बाइट्स को हटाया जा सकता है।
डेनिस

@ डेनिस धन्यवाद! STDERR के लिए अतिरिक्त आउटपुट मुझे हमेशा थोड़ा असहज महसूस कराता है, लेकिन मुझे लगता है कि मुझे इसके साथ चलना चाहिए।
डिजिटल ट्रामा

6

आर , 360 बाइट्स

sample(readLines(),1)
It is certain
It is decidedly so
Without a doubt
Yes definitely
You may rely on it
As I see it, yes
Most likely
Outlook good
Yep
Signs point to yes
Reply hazy try again
Ask again later
Better not tell you now
Cannot predict now
Concentrate and ask again
Don't count on it
My reply is no
My sources say no
Outlook not so good
Very doubtful

इसे ऑनलाइन आज़माएं!

नहीं सबसे सुरुचिपूर्ण समाधान। R में एक साफ़ सुथरी सुविधा होती है, जहाँ stdinस्रोत फ़ाइल को रीडायरेक्ट किया जाएगा, इसलिए आप (छोटे) डेटासेट को सोर्स कोड में डाल सकते हैं, स्ट्रिंग बंटवारे या बदतर के लिए बाइट्स को बचाते हुए, वेक्टर का निर्माण करते हुए (उन सभी उद्धरणों को जल्दी में जोड़ते हैं)। यादृच्छिक नमूने के लिए बिल्डिंस के साथ, यह एक लघु-ईश उत्तर देता है।


6

चारकोल , 203 184 बाइट्स

‽⪪”}∨74Dυ3↖u➙H�↖vI⁻VR‹ψ#�Ii»ψPNξ⮌≔;≡8ν}¬H⁺ºº↖H⁴K⌕êτ|⁼➙⟲W»″φ◨⟦(τ(jK“N\⍘“↷⊙ⅉvT>➙§⌊Fζ³⁻↔;TaÀ✳⁴≔67⍘i4¬⸿-A8⁻f7¡<⁰Zχ}ζ'¡¹→Oaε!OυP₂ïμ´MuP⁺M⮌1№-k¹№FvξDü⊟ζⅉ⁰xW:Dε7TvM₂⊞θC⪪Rε⁰“D¡⸿⁰″A⊕λξ↥~O·PE&”¶

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। संपादित करें: सब कुछ कम करके 19 बाइट्स सहेजे गए। स्पष्टीकरण:

  ”...”     Compressed string of newline-delimited responses
 ⪪     ¶    Split on newlines
‽           Random element
            Implicitly print

5

रेटिना , 333 331 321 बाइट्स


0cert10decided2so¶with34a d3bt¶yes definitely¶y3 ma5re26as i see it, yes¶mos4likely7good¶yep¶signs poin4to yes¶rep2haz5tr5ag18ain later¶better 94tell y3 9w¶can94predic49w¶concentrate and 81don'4c3n46m5rep2is 9¶m5s3rces sa59794so good¶ver5d3btful
9
no
8
ask ag
7
¶3tlook 
6
on it¶
5
y 
4
t 
3
ou
2
ly 
1
ain¶
0
it is 
G?`

इसे ऑनलाइन आज़माएं! संपादित करें: सेक करके 1 बाइट को बचाया doubtऔर 1 बाइट को सब कुछ कम करके, ताकि मैं सेक कर सकूं reply। फिर निचली पाठ पर @ लियो के रेटिना कोलमोगोरोव गोल्फर का उपयोग करके 10 बाइट्स को बचाया (जो संयोगवश मेरे 333-बाइट उत्तर पर सहेजे गए बाइट्स की संख्या है)।



@ लिओ ध्यान दें कि रेटिना 0.8.2 एक अलग भाषा है
mbomb007

@ mbomb007 मुझे पता है, लेकिन इन जैसे सरल प्रतिस्थापन के लिए यह रेटिना 1.0 के समान सिंटैक्स है। मैं सिर्फ इशारा कर रहा था कि कोलमोगोरोव गोल्फर रेटिना के पुराने संस्करण के लिए लिखा गया था लेकिन यह इस मामले में अभी भी प्रयोग करने योग्य है।
लियो

4

नारियल , 380 बाइट्स

नारियल के बंदरगाह totallyhuman के जवाब

from random import*
choice$("It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split('.'))

इसे ऑनलाइन आज़माएं!


4

टी-एसक्यूएल, 393 बाइट्स

SELECT TOP 1*FROM STRING_SPLIT('It is certain-It is decidedly so-Without a doubt-Yes definitely-You may rely on it-As I see it, yes-Most likely-Outlook good-Yep-Signs point to yes-Reply hazy try again-Ask again later-Better not tell you now-Cannot predict now-Concentrate and ask again-Don''t count on it-My reply is no-My sources say no-Outlook not so good-Very doubtful','-')ORDER BY NEWID()

फ़ंक्शन STRING_SPLITकेवल SQL 2016 और बाद में उपलब्ध है।

सर्वश्रेष्ठ मैं VALUES('It is certain'),('It is decidedly so'),...464 वर्णों का उपयोग करके पूर्व संस्करणों के लिए प्राप्त कर सकता था।

स्वरूपित, बस इसलिए आप काम कर रहे भाग देख सकते हैं:

SELECT TOP 1 *
FROM STRING_SPLIT('It is certain-It is decidedly so-...', '-')
ORDER BY NEWID()

NEWID() एक नया, छद्म यादृच्छिक GUID उत्पन्न करता है, इसलिए एक छद्म यादृच्छिक क्रम करने का एक तरीका है।


4

जेली , 201 बाइट्स

-2 बाइट्स मिस्टर एक्सकोडर की बदौलत। -120 उपयोगकर्ता के लिए बाइट धन्यवाद।

“æ⁽IẊ?⁽ʋṠ¶ÐƝKW¬ḃỴɓ⁾:Eṇ⁵ṾɱD×⁴2ṇỤðċỊ¥ḷƬị÷ṣÐṆⱮ$u²OŀṚƁȮ1⁼ṁ$bp⁾v]Ɠ-/NẓḲnỵdḳḋ½ȥṿ=kv¥ɓl[kR AḞ¶gḣḞiẊŒẊḳçȤ⁻Ɱʋx:ØṖ|zY=ṾḌẓY1Ḃ$50d⁹⁸ŀhʂƤṢM;ḢoƁṾ⁷-uṙu¡Ọ3ṣȮ@⁹ðẹȥXƭ⁸|ƬẋẆḢɠœxḳsĿƘ(0çỌ~A½YIEFU3Ọ=⁷ɗḷBḷİṄhṗgṡƊẏẏḄ#Ṙʋ$ʂȷĠ»ỴX

इसे ऑनलाइन आज़माएं!

अरे , एसओजीएल का कंपटीशन अच्छा है।



201 बाइट्स । बस 2 अंतिम पात्रों को जोड़ें।
user202729

(मेरा मतलब है, ỴXकोड के अंत में संलग्न करें ताकि यह उनमें से एक से यादृच्छिक रूप से चुनता है)
user202729

4

05AB1E , 171 बाइट्स

“€•€ˆ‹ì€•€ˆŸíly€Ê„›€…¬³…ܴ΀˜€‰€•€œ I€È€•,…Ü‚¢îÙ®½‚¿ yepŸé…®€„…Ü…ƒ hazy‡Ü†îˆ¹†îŠ´…瀖ˆœ€î€Ó€©notßä€Óä考ˆ¹†î€·n'tš‹€‰€•€¯…ƒ€ˆ€¸€¯Žç…耸®½€–€Ê‚¿‚Ò¬³ful“#•8∞f{ʒβ®•6в£ðýΩ

इसे ऑनलाइन आज़माएं!

व्याख्या

“ ... “सभी आवश्यक शब्दों की एक स्ट्रिंग को धक्का देता है।
कुछ शब्द सीधे 05ab1e शब्दकोश से लिए गए हैं।
कुछ सादे असि (जैसे haze) में लिखे गए हैं ।
कुछ संयुक्त शब्दकोष और अस्सी (जैसे do+ n't) हैं।

फिर प्रोसेसिंग कोड है:

#                 # split string on spaces to a list of words
 •8∞f{ʒβ®•        # push the number 2293515117138698
          6в      # convert to a list of base-6 numbers 
                  # ([3,4,3,2,5,5,2,2,1,4,4,3,5,3,4,4,4,4,4,2])
            £     # group the list into sublists of these sizes
             ðý   # join on spaces
               Ω  # pick one at random

इसे ऑनलाइन आज़माएं! - 176 ब्रूटफोर्स रूपांतरण के साथ।
मैजिक ऑक्टोपस Urn

1
@MagicOctopusUrn: मुझे लगता है कि यह 182 के साथ ,और 'जोड़ा गया है।
इमिग्ना

डी 'ओह! आह मैं देख रहा हूँ, हाँ। वैसे अपने TIO से इनपुट हटाएं, यह थोड़ा भ्रमित कर रहा है।
मैजिक ऑक्टोपस Urn

@MagicOctopusUrn: दोह! धन्यवाद। मुझे नहीं पता था कि मैं वहाँ छोड़ दिया था: P
Emigna

166: टीआईओ । तीन बार -1 (नए शब्दकोश शब्द का उपयोग करने से ye, donऔर ha), और -2 शब्द गणना से सूची को क्रमबद्ध करने और डेल्टा संपीड़न का उपयोग करने से।
ग्रिमी

4

रूबी, 362 361 बाइट्स

puts"It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split(?.).sample

इसे ऑनलाइन आज़माएं!

  • 1 बाइट @ बेंज 2240 को धन्यवाद

आप बाइट के ?.बजाए शेव कर सकते हैं '.'
बेन्ज २२४०

@ benj2240 वाह, मैंने पहले ऐसा नहीं देखा था। बहुत ही शांत।
BigRon


3

पायथन 3, 386 बाइट्स

from random import*
lambda:choice("It is certain;It is decidedly so;Without a doubt;Yes definitely;You may rely on it;As I see it, yes;Most likely;Outlook good;Yep;Signs point to yes;Reply hazy try again;Ask again later;Better not tell you now;Cannot predict now;Concentrate and ask again;Don't count on it;My reply is no;My sources say no;Outlook not so good;Very doubtful".split(';'))

3

पर्ल, 366

print((split",","It is certain,It is decidedly so,Without a doubt,Yes definitely,You may rely on it,As I see it,yes,Most likely,Outlook good,Yep,Signs point to yes,Reply hazy try again,Ask again later,Better not tell you now,Cannot predict now,Concentrate and ask again,Don't count on it,My reply is no,My sources say no,Outlook not so good,Very doubtful")[rand 19])

2
मुझे एक बग मिला। आप कॉमा को एक विभाजक के रूप में उपयोग नहीं कर सकते क्योंकि मैजिक 8-बॉल के संभावित उत्तरों में से 1 में कॉमा शामिल है As I see it, yes:।
g4v3

1
मेरा सुझाव है कि आप विभाजक के रूप में एक अंक का उपयोग करें। यह 1 बाइट बचाएगा, क्योंकि उद्धरणों की अब आवश्यकता नहीं है, लेकिन अंक को अलग करने के लिए एक स्थान अभी भी जोड़ा जाना चाहिए और split
g4v3

1
इसके अलावा, आप print1 बाइट के लिए कोष्ठक को छोड़ सकते हैं और बचा सकते हैं । बस सूची से पहले एक एकल धन चिह्न डाल: print((0..9)[5])बन जाएगा print+(0..9)[5]
g4v3

3

05AB1E , 208 217 बाइट्स

"don'".•W˜FζÃT¥„ò.1₁∍Y<`Ì°5jýúž+ìmHSéÁ¬–xȃø‚ž}_Øviòª§l["]0â^)„2æδ∍G1∊EÌLÝ'îôΛβ;ƒĀαÏw L°gðÈγ³€wE‘f饤šαrˆQŠë¢-º8Æ~ÁŠ∍δBx®(β™Žü6»ƶÙÐ~†«\%ÍŒΘ-´sÈƵJŸ₃H7Ó˜:Å∍₂èÑï∞—Râú'óвb…ÓUXʒǝ₄ÝrÒ₄¨÷ä褓oθWÎλî~bj(Ri
Þиe‘ãj]•", yes"J'x¡Ω

इसे ऑनलाइन आज़माएं!

सुंदर बुनियादी समाधान। संभावित उत्तरों को वर्ण x के साथ सम्‍मिलित किया जाता है (चूंकि यह उत्तरों में मौजूद नहीं है) और फिर संपीड़ित ( • के अंदर ) सम्‍मिलित किया जाता है ' x x पर विभाजित हो जाता है और एक यादृच्छिक विकल्प पॉप करता है।

@Eignign के लिए धन्यवाद कि यह इंगित करने के लिए कि वर्णमाला संपीड़न पसंद नहीं है 'या, बहुत कुछ। डॉन के साथ संपीड़ित स्ट्रिंग को बढ़ाकर तय किया ' और , हाँ


एक चरित्र पर विभाजित करने के लिए अच्छा विचार मौजूद नहीं है। दुर्भाग्य से वर्णमाला संपीड़न की जगह ,और 'रिक्त स्थान के साथ, इसलिए उन 2 लाइनों के लिए आउटपुट गलत हैं।
Emigna

@Emigna इसे इंगित करने के लिए बहुत बहुत धन्यवाद! मैं सोच रहा था कि इस मुद्दे के लिए एक बेहतर निर्धारण मौजूद नहीं है ... मैं जवाब में अन्य गैर-उपयोग किए गए वर्णों का उपयोग कर सकता था, लेकिन केवल दो हैं: q और x :-(
Kaldo

3

PHP , 412 385 337 384 बाइट्स

<?php $a=explode(1,"It is certain1It is decidedly so1Without a doubt1Yes definitely1You may rely on it1As I see it, yes1Most likely1Outlook good1Yep1Signs point to yes1Reply hazy try again1Ask again later1Better not tell you now1Cannot predict now1Concentrate and ask again1Don't count on it1My reply is no1My sources say no1Outlook not so good1Very doubtful");echo$a[array_rand($a)];

इसे ऑनलाइन आज़माएं!

बहुत सीधे आगे समाधान है। एक सीमांकक द्वारा स्ट्रिंग विभाजित करें (इस मामले में 1) और सरणी से एक यादृच्छिक तत्व चुनें।


PPCG में आपका स्वागत है! मैंने आपके पोस्ट में कुछ छोटे स्वरूपण परिवर्तन किए हैं, और कुछ छोटे सुझाव दिए हैं - 1, आपको phpअपना कोड संकलित करने के लिए एक स्थान जोड़ने की आवश्यकता है ; 2, आप -2 बाइट्स के '|'साथ 1और सभी के |साथ बदल सकते हैं 1; 3 को TIO.run पर ऑनलाइन प्रयास करने के लिए अपने लिंक को बदलने पर विचार करना चाहिए जैसा कि समुदाय द्वारा पसंद किया जाता है।
टेलर स्कॉट

और यहाँ मेरी प्रतिक्रिया के आधार पर एक कार्यशील संस्करण है। इसे ऑनलाइन आज़माएं!
टेलर स्कॉट

@TaylorScott ऐसा लगता है कि मेरे enovironment पर ठीक से काम नहीं किया जा रहा है <? Php टैग के बाद। मैं दौड़ रहा हूं PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Mar 6 2018 11:18:25) ( NTS )। सुनिश्चित नहीं है कि पिछले संस्करणों में यह मायने रखता है या नहीं। किसी भी तरह से, मैंने सवाल संपादित किया है।
एंड्रयू

आह, यह सिर्फ संस्करण हो सकता है - आपके द्वारा प्रदान किया गया लिंक PHP संस्करण 7.0.3 का उपयोग करता है, और यह TIO.run पर अंतरिक्ष के बिना नहीं चलता है
टेलर स्कॉट

2
आप पहले से ही एक चर में जोड़ने के बजाय का <?=उपयोग करके सीधे विस्फोट का उपयोग कर सकते हैं और गूंज सकते हैं[rand(0, 19)]<?= explode("1", "str1str1str")[rand(0, 19)]
जीरन

3

जावास्क्रिप्ट, 372 बाइट्स

-10 बाइट्स शैगी को धन्यवाद

_=>"It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful".split`.`[Math.random()*20|0]

इसे ऑनलाइन आज़माएं!


1
7 बाइट्स को बचाने के ORबजाय बिटवाइज़ का उपयोग करें :। Math.floor()Math.random()*20|0
झबरा

3

Befunge

1221 870 बाइट्स (पूरे क्षेत्र की परिधि 33x36 30 * 29 चरचर) है जो किंग को अनुगामी नल को हटाने में मेरी मदद करने के लिए धन्यवाद और मुझे रैंडमाइज़र बदलने का आग्रह करता है।

"<"99+9+1+v
v         <
 >>>>>>>>>>55++v
 0123456789
>??????????<
 0123456789
 >>>>>>>>>>    v
               >88++p       v
v"It is certain"           
v"It is decidedly so"
v"Without a doubt"
v"Yes definitely"
v"You may rely on it"
v"As I see it, yes"
v"Most likely"
v"Outlook good"
v"Yep"
v"Signs point to yes"
v"Reply hazy try again"
v"Ask again later"
v"Better not tell you now"
v"Cannot predict now"
v"Concentrate and ask again"
v"Don't count on it"
v"My reply is no"
v"My sources say no"
v"Outlook not so good"
v"Very doubtful"
>:#,_@

शीर्ष पंक्ति '<' वर्ण और x- स्थिति (28) को रखती है जहाँ उसे स्टैक पर जाना चाहिए। फिर हम यादृच्छिक संख्या जनरेटर की तरह दर्ज करते हैं। इसमें सुधार किया जा सकता था, लेकिन यह वही है जो मैं छोटी सूचना पर दे सकता था ... पढ़ने के लिए वास्तविक "यादृच्छिक" लाइन प्राप्त करने के लिए "यादृच्छिक" संख्या ऑफसेट है।

यादृच्छिक संख्या उत्पन्न होने के बाद, हम उस पंक्ति में '<' अक्षर डालते हैं और अक्षरों को स्टैक पर और नीचे की पंक्ति में उन्हें फिर से आउटपुट करते हैं।

ध्यान दें; यदि आप इस पोस्ट में शीर्षक से जुड़े दुभाषिया का उपयोग करते हैं, तो आपको प्रत्येक रन के बाद "शो" को फिर से क्लिक करना होगा, क्योंकि निष्पादन के बाद '<' अक्षर का जोड़ बना रहता है।


1
आप मेरे> <> उत्तर के समान प्रारूप का उपयोग करके बहुत बेहतर हैं। इसे ऑनलाइन आज़माएं! । जैसा कि यह अब है, यह भी अंत में नल बाइट्स का एक गुच्छा प्रिंट करता है
जो किंग

हाँ, मुझे पता है, मैं चाहता था कि यादृच्छिक संख्या वाली बात बहुत पक्षपाती न हो, लेकिन मैं सिर्फ प्रश्नवाचक चिह्न की एक पंक्ति का उपयोग कर सकता था।
rael_kid

आप व्हॉट्सएप के सौ बाइट्स के एक जोड़े को कम से कम गोल्फ कर सकते हैं, और >:#,_@नट बाइट्स से बचने के लिए अंतिम पंक्ति को बदल सकते हैं । ओह, और एक TIO लिंक जोड़ें।
जो किंग

यह सच है, मैं आज बाद में एक अपडेट पोस्ट करूँगा।
rael_kid

3

जावा 8 , 433 , 392 , 380 , 379 बाइट्स

 a->"It is certain~It is decidedly so~Without a doubt~Yes definitely~You may rely on it~As I see it, yes~Most likely~Outlook good~Yep~Signs point to yes~Reply hazy try again~Ask again later~Better not tell you now~Cannot predict now~Concentrate and ask again~Don't count on it~My reply is no~My sources say no~Outlook not so good~Very doubtful".split("~")[(int)(Math.random()*20)]

इसे ऑनलाइन आज़माएं!

  • 41 बाइट्स AdmBorkBork के लिए धन्यवाद!
  • केविन के लिए 10 बाइट्स धन्यवाद!
  • ओलिवर के लिए 1 बाइट धन्यवाद!

2
बाइट्स का एक गुच्छा बचाने के लिए निश्चित रूप से आप String.split () का उपयोग कर सकते हैं - docs.oracle.com/javase/7/docs/api/java/lang/…
AdmBorkBork

2
जैसा कि @AdmBorkBork ने कहा है, आप 41 बाइट्स का उपयोग करके बचा सकते हैं String#split। इसके अलावा, आप इसके (int)(Math.random()*20)बजाय का उपयोग करके एक अतिरिक्त 11 बाइट्स बचा सकते हैं new java.util.Random().nextInt(20)। और अर्ध-बृहदान्त्र को लैम्ब्डा के लिए बाइट-गिनती की ओर नहीं गिना जाता है। तो कुल में: 380 बाइट्स
केविन क्रूज़सेन

2
आपके उत्तर में और @ केविनक्रूजसेन के गोल्फ में एक अतिरिक्त जगह है: Don'tइसके बजाय का उपयोग करें Don' t
ओलिवियर ग्राएगोइरे

2

लाल , 367 बाइट्स

prin pick split{It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful}"."random 20

इसे ऑनलाइन आज़माएं!

यह वास्तव में TIO में यादृच्छिक नहीं लगता है (हालांकि यह लाल कंसोल में ठीक काम करता है), इसीलिए मैंने हेडर में एक यादृच्छिक / बीज जोड़ा।


2

एक्सेल, 399 बाइट्स

=CHOOSE(1+20*RAND(),"It is certain","It is decidedly so","Without a doubt","Yes definitely","You may rely on it","As I see it, yes","Most likely","Outlook good","Yep","Signs point to yes","Reply hazy try again","Ask again later","Better not tell you now","Cannot predict now","Concentrate and ask again","Don't count on it","My reply is no","My sources say no","Outlook not so good","Very doubtful")

के बाद CHOOSE(X.Y,<>)से ही है CHOOSE(X,<>), के लिए कोई ज़रूरत नहीं हैINT

ज्यादा गोल्फिंग आप यहाँ नहीं कर सकते, हालांकि ...


2

एसीटो , 345 + 1 = 346 बाइट्स ( -lध्वज के लिए +1 )

"It is certain.It is decidedly so.Without a doubt.Yes definitely.You may rely on it.As I see it, yes.Most likely.Outlook good.Yep.Signs point to yes.Reply hazy try again.Ask again later.Better not tell you now.Cannot predict now.Concentrate and ask again.Don't count on it.My reply is no.My sources say no.Outlook not so good.Very doubtful"'.:Yp

इसे ऑनलाइन आज़माएं!

अत्यधिक दिलचस्प नहीं है, लेकिन मैं इस भाषा में कुछ भी छोटा नहीं सोच सकता, कोई संकुचित तार या कुछ भी नहीं।

"...." पुश स्ट्रिंग्स को पीरियड्स द्वारा अलग किया गया
      '। शाब्दिक अवधि
        : अवधि पर विभाजित
         Y फेरबदल ढेर
          पी प्रिंट शीर्ष


-l ध्वज के बिना और अधिक दिलचस्प लग सकता है।
लौरा बोस्सान

@ लॉरास्टोन लेकिन मुझे नहीं पता है कि हिल्बर्ट कर्व्स पिछले प्रकार 3
ड्राम

और यह
21:39 पर

1
लेकिन हाँ यह
drham

iup ... -l ध्वज को गोल्फिंग के लिए जोड़ा गया था। हालांकि, मैं इसका बहुत शौकीन नहीं हूं, भाषा के पूरे बिंदु सस्ते में चोरी करता है। हो सकता है कि Aceto का अगला संस्करण इस ध्वज को छोड़ दे।
लौरा बोस्सान

1

सी - 426 बाइट्स

char a[][99]={"It is certain","It is decidedly so","Without a doubt","Yes definitely","You may rely on it","As I see it, yes","Most likely","Outlook good","Yep","Signs point to yes","Reply hazy try again","Ask again later","Better not tell you now","Cannot predict now","Concentrate and ask again","Don't count on it","My reply is no","My sources say no","Outlook not so good","Very doubtful"};int main(){int n;puts(a[n%20]);}

सभी संभव आउटपुट वाले स्ट्रिंग्स की एक सरणी में अनुक्रमित करने के लिए एक अनइंस्टीट्यूटेड वेरिएबल मॉड 20 का उपयोग करता है। कंपाइलर शिकायत करते हैं कि stdio.h शामिल नहीं है, लेकिन यह ठीक काम करता है। शायद इसलिए क्योंकि ऐसा होता है, वैसे भी मानक पुस्तकालय से जुड़ा हुआ है। मैं भाग्यशाली हूँ।


कुछ कार्यान्वयन पर ध्यान देने योग्य बात, एक अनियंत्रित चर का मान 0 होता है, क्योंकि व्यवहार अच्छा है, अपरिभाषित है। अपने जादू 8 गेंद से पूछें कि क्या यह आपकी मशीन पर सच है।
ओरियन

1

गो, 530 बाइट्स

package main;import"fmt";func main(){for k:=range map[string]struct{}{"It is certain":{},"It is decidedly so":{},"Without a doubt":{},"Yes definitely":{},"You may rely on it":{},"As I see it, yes":{},"Most likely":{},"Outlook good":{},"Yep":{},"Signs point to yes":{},"Reply hazy try again":{},"Ask again later":{},"Better not tell you now":{},"Cannot predict now":{},"Concentrate and ask again":{},"Don't count on it":{},"My reply is no":{},"My sources say no":{},"Outlook not so good":{},"Very doubtful":{}}{fmt.Print(k);break}}

कृपया ध्यान दें कि, गो गेम ग्राउंड पर, क्योंकि बोने का काम कैसे होता है, यह हमेशा एक ही परिणाम देता है। जब एक नियमित कंप्यूटर पर चल रहा है, तो सब कुछ उसी तरह से काम करना चाहिए जैसा वह करना चाहिए।
मुझे लगता है कि थोड़ा और बचाना संभव है लेकिन गो में मेरा ज्ञान वहीं रुक जाता है :)

प्रारूपित और परीक्षण योग्य संस्करण


PPCG में आपका स्वागत है! पर इसे ऑनलाइन आज़माएं जाओ दुभाषिया एक यादृच्छिक बीज का उपयोग करने लगता है।
डेनिस

मुझे बहुत अशुभ होना चाहिए फिर डी:
नथानेल सी।

क्या आप पृष्ठ को ताज़ा कर रहे हैं? यह परिणाम हर बार कैश से प्राप्त होगा, इसलिए यह परिवर्तित नहीं होगा। रन बटन पर क्लिक करने पर कोड फिर से चलेगा।
डेनिस

मुझे CTRL + R के साथ हार्ड रिफ्रेश होने के बाद भी "यह निश्चित है" मिलता रहा ... मुझे यह नहीं मिला: x
Nathanel C.

ताज़ा करने से परिणाम नहीं बदलेगा; वे सर्वर साइड पर कैश किए जाते हैं। रन बटन पर क्लिक करें (एक मंडली में आइकन खेलें) या Ctrl-Enter दबाएं।
डेनिस

1

एक्सेल-वीबीए, 362 341 339 बाइट्स

v=[1:1]:?v(1,Rnd*19)

जहाँ A1:T1विभिन्न विकल्प होते हैं। सरणी में शीट की पूरी पहली पंक्ति पढ़ता हैv और पहले 19 मूल्यों के साथ एक यादृच्छिक बिंदु को अनुक्रमित करता है।

यह जानकर आश्चर्य हुआ कि किसी सरणी को अनुक्रमित करने के लिए पूर्णांक मानों की आवश्यकता नहीं है


एक्सेल के लिए आपके उत्तर के बारे में मेरी चिंताएं यहां और भी अधिक हैं, क्योंकि वर्कशीट को एक्सेल VBA के लिए एक STDIN के रूप में गिना जाता है, इसलिए यह पूर्व-निर्धारित इनपुट होने के करीब है
टेलर स्कॉट

0

VBA, 358 बाइट्स

एक अनाम VBE तत्काल विंडो फ़ंक्शन जो कोई इनपुट नहीं लेता है और STDOUT को आउटपुट करता है।

?Split("It is certain1It is decidedly so1Without a doubt1Yes definitely1You may rely on it1As I see it, yes1Most likely1Outlook good1Yep1Signs point to yes1Reply hazy try again1Ask again later1Better not tell you now1Cannot predict now1Concentrate and ask again1Don't count on it1My reply is no1My sources say no1Outlook not so good1Very doubtful",1)(19*Rnd)

-1

जावा 8, 379 बाइट्स

b->"It is certain-It is decidedly so-Without a doubt-Yes definitely-You may rely on it-As I see it, yes-Most likely-Outlook good-Yep-Signs point to yes-Reply hazy try again-Ask again later-Better not tell you now-Cannot predict now-Concentrate and ask again-Don't count on it-My reply is no-My sources say no-Outlook not so good-Very doubtful".split("-")[(int)(Math.random()*20)]

इसे ऑनलाइन आज़माएं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.