मैंने Python Docs पर देखा (मुझे गलत समझा जा सकता है), लेकिन मैंने नहीं देखा कि एक पुनरावर्ती कार्य को कॉल किए बिना ऐसा करने का कोई तरीका था (नीचे देखें)।
मैं जो करना चाहता हूं वह एक यादृच्छिक मान उत्पन्न करता है जिसमें मध्य में मान शामिल नहीं होते हैं।क्या पाइथन एक यादृच्छिक संख्या उत्पन्न कर सकता है जिसमें रिकर्सन का उपयोग किए बिना संख्याओं का एक सेट शामिल नहीं है?
दूसरे शब्दों में,
की कल्पना मैं X
एक यादृच्छिक संख्या कि
range(a - b, a + b)
में नहीं है मैं पहली बार पास पर यह कर सकता बनना चाहता था चलो,
या
1. मैं लगातार उत्पन्न करने के लिए है एक संख्या,
2. जांचें कि range()
,
3. कुल्ला धोएं?
कारण है कि मैं एक पुनरावर्ती समारोह लिखने के लिए इच्छा नहीं है का सवाल है,
1. यह लगता है जैसे 'मैं
2. करने के लिए संख्या के लिए मैं यह कर रहा हूँ वास्तव में लग सकती है के सेट नहीं होना चाहिए काफी बड़ा है, और
... मुझे लगता है कि स्टैक ओवरफ्लो खराब हैं, और मैं बस ऐसा करने में अत्यधिक सावधानी बरत रहा हूं।
मुझे यकीन है कि ऐसा करने के लिए एक अच्छा, पायथनिक, गैर-पुनरावर्ती तरीका है।
यह तब तक काम करेगा जब तक कि संभावित उत्तरों का सेट बेहद बड़ा न हो, इस स्थिति में यह बहुत अधिक स्मृति और क्रैश का उपयोग करेगा। –
@AndrewG: सहमत है, यदि आपके पास लाखों/अरबों का आकार है तो यह आदर्श नहीं है। दूसरी ओर, यह सरल और यादगार है। आपका जवाब, जबकि एक बहुत अच्छा और मजबूत समाधान, अधिक त्रुटि-प्रवण हो सकता है। – Junuxx
हाँ। अगर आपके, ए, बी, सी और डी को शुरुआत से जाना जाता था और एक छोटा सेट होने के लिए जाना जाता था, तो मेरा जवाब उपयोग होता था, और मेरा अगर वे इनपुट पर निर्भर थे या बड़े सेट के रूप में जाने जाते थे। –