में नकारात्मक यादृच्छिक मूल्य उत्पन्न करने के लिए मैं अजगर जानने के लिए शुरू कर रहा हूँ, मैं एक नकारात्मक और सकारात्मक संख्या में पास करके यादृच्छिक मान उत्पन्न करने की कोशिश। मान लें -1
, 1
।कैसे अजगर
मैं इस अजगर में क्या करना चाहिए?
में नकारात्मक यादृच्छिक मूल्य उत्पन्न करने के लिए मैं अजगर जानने के लिए शुरू कर रहा हूँ, मैं एक नकारात्मक और सकारात्मक संख्या में पास करके यादृच्छिक मान उत्पन्न करने की कोशिश। मान लें -1
, 1
।कैसे अजगर
मैं इस अजगर में क्या करना चाहिए?
import random
def r(minimum, maximum):
return minimum + (maximum - minimum) * random.random()
print r(-1, 1)
संपादित करें: @ San4ez के random.uniform(-1, 1)
सही तरीका है।
def uniform(self, a, b):
"Get a random number in the range [a, b) or [a, b] depending on rounding."
return a + (b-a) * self.random()
उपयोग random.uniform(a, b)
>>> import random
>>> random.uniform(-1, 1)
0.4779007751444888
>>> random.uniform(-1, 1)
-0.10028581710574902
अधिकांश भाषाओं में एक समारोह है कि रेंज में एक यादृच्छिक संख्या वापस आ जाएगी [0 है:
वैसे भी पहिया बदलने की कोई जरूरत नहीं है ..., random.uniform()
रूप में कोडित है , 1], जिसे आप अपनी इच्छित सीमा को सुइट करने के लिए कुशलतापूर्वक उपयोग कर सकते हैं। पायथन में, फ़ंक्शन random.random
है। तो की श्रेणी के लिए [-1, 1], आप ऐसा कर सकते हैं:
import random
random_number = random.random() * 2 - 1
संख्या हम [0, 2], और यह से घटाने पर से की एक श्रृंखला मिल दोगुना करके, हम [मिल - 1 1]।
अगर आप integer in a specified range हैं:
print random.randrange(-1, 2)
तो ऊपरी सीमा शामिल नहीं है यह, range
रूप में एक ही सम्मेलन का उपयोग करता है।
random.uniform
कुछ इसी तरह अगर आप मान नाव की आवश्यकता है, लेकिन यह not always clear अगर ऊपरी सीमा शामिल है या नहीं
इस
import random
random.choice([-1, 1])
'डीईएफ़ रैंड की तरह कुछ कर सकते हैं(): वापसी 4 # मेला पासा रोल द्वारा उत्पन्न। यादृच्छिक होने की गारंटी। –
बहुत बहुत धन्यवाद। लेकिन मैं इस तरह से नहीं कर सकता। जहां मैं स्क्रिप्ट चलाने के दौरान मान को तर्क के रूप में पास करना चाहता हूं। #!/usr/bin/env python आयात sys, यादृच्छिक आर = sys.argv [1] वाई = sys.argv [2] प्रिंट random.range (y, r) – user1393251
@ user1393251 - आप कर सकते हैं इस तरह से (मेरी 'आर' विधि को सही' random.uniform' जैसा ही कहा जाता है), बस मैं यहां पहिया को पुनर्निर्मित कर रहा हूं ... San4ez का जवाब लें। – eumiro