इनपुट आउटपुट:
इनपुट : एक समान रूप से यादृच्छिक, असीम रूप से लंबा, '0' और '1' का तार, जिसे स्टड से लिया गया है। स्ट्रिंग को सही मायने में यादृच्छिक माना जाता है, न कि छद्म यादृच्छिक। यह समान है कि प्रत्येक वर्ण समान रूप से '0' या '1' होने की संभावना है।
सावधान! इनपुट अनंत रूप से लंबा है, इसलिए आप अजगर में कच्चे_input () जैसे फ़ंक्शन का उपयोग करके मेमोरी में यह सब स्टोर नहीं कर सकते। यदि मैं गलत नहीं हूं, तो गोल्फस्क्रिप्ट अनंत इनपुट के साथ विफल हो जाएगा, क्योंकि यह चलने से पहले स्टैक पर पूरे इनपुट को धक्का देता है।
आउटपुट : जोकर के बिना एक समान रूप से यादृच्छिक फेरबदल मानक डेक। यह समान है कि सभी आदेश समान रूप से होने की संभावना है।
आउटपुट में प्रत्येक कार्ड यह रैंक, ए, 2-9, टी, जे, क्यू या के है, यह सूट, सी, डी, एच या एस के साथ है। उदाहरण के लिए, हुकुम का 10 हैTs
डेक के कार्ड को रिक्त स्थान द्वारा अलग किया जाना चाहिए।
आप अंतर्निहित रैंडम लाइब्रेरी या फ़ंक्शंस का उपयोग नहीं कर सकते क्योंकि वे वास्तव में यादृच्छिक नहीं हैं, केवल छद्म यादृच्छिक हैं।
उदाहरण इनपुट
आप अपने प्रोग्राम में इनपुट करने के लिए निम्न पायथन लिपि का उपयोग कर सकते हैं:
import sys, random
try:
while True:
sys.stdout.write(str(random.randint(0,1)))
except IOError:
pass
यदि आप स्क्रिप्ट को rand.py के रूप में सहेजते हैं, तो अपने प्रोग्राम का परीक्षण करें python rand.py | your_program
अजगर 3 में यह अपेक्षा के अनुसार चलता है, लेकिन अजगर 2.7 में मुझे अपने प्रोग्राम के आउटपुट के बाद एक त्रुटि संदेश मिलता है, लेकिन सब कुछ पूरा होने के बाद, इसलिए केवल त्रुटि संदेश को अनदेखा करें।
उदाहरण आउटपुट:
यहां बताया गया है कि अगर छंटनी क्रम में फेरबदल किया जाना हो तो डेक को कैसे प्रिंट किया जाना चाहिए:
Ac 2c 3c 4c 5c 6c 7c 8c 9c Tc Jc Qc Kc Ad 2d 3d 4d 5d 6d 7d 8d 9d Td Jd Qd Kd Ah 2h 3h 4h 5h 6h 7h 8h 9h Th Jh Qh Kh As 2s 3s 4s 5s 6s 7s 8s 9s Ts Js Qs Ks
स्कोरिंग:
यह एक कोड गोल्फ है। सबसे छोटा कोड जीतता है।
उदाहरण कार्यक्रम:
यहां एक अजगर 2.7 समाधान है, न कि गोल्फ।
import sys
def next():
return int(sys.stdin.read(1))==1
def roll(n):
if n==1:
return 0
if n%2==0:
r=roll(n/2)
if next():
r+=n/2
return r
else:
r=n
while(r==n):
r=roll(n+1)
return r
deck = [rank+suit for suit in 'cdhs' for rank in 'A23456789TJQK']
while len(deck)>0:
print deck.pop(roll(len(deck))),