2011-10-27 24 views
8

यह यादृच्छिक संख्या डेल्फी (7 सटीक होना) में है। मैं एक विशिष्ट सीमा के भीतर यादृच्छिक संख्या कैसे उत्पन्न कर सकता हूं? पायथन में random.randint(1,6) के समान। मैं रोलिंग पासा अनुकरण करने की कोशिश कर रहा हूँ। दूसरा विकल्प वर्तमान में मैं किसी भी तरह है 0.रेंज नंबर

बाहर करने के लिए है:

Randomize; 
Roll := Random(7); 
Label3.Caption := IntToStr(Roll); 
+5

के बीच यादृच्छिक होगा, यह 'किसी भी तरह' शून्य को बाहर करने के लिए तुच्छ है। बस 'रैंडम (6) + 1' करें। –

उत्तर

22

आप उपयोग कर सकते हैं

RandomRange(1, 7) 

सेट {1, 2, 3 से एक यादृच्छिक पूर्णांक वापस आ जाएगी जो, 4, 5, 6}।

(uses Math)

[वैसे, यह किसी भी तरह 'के लिए मामूली बात है शून्य शामिल नहीं है। बस Random(6) + 1 करना]

+0

धन्यवाद, लेकिन इसे रैंडमरेंज (1,7) होना चाहिए ताकि 6 शामिल हो। – Aaron

+0

@Aaron: हाँ, मैंने कई मिनट पहले बदल दिया! –

2

इसके अलावा, यह संभव है एक नाव रेंज [क, ख), exluding ख से एक मूल्य उत्पन्न करने के लिए:।

r := random; 
x := (b-a)*r + a; 

पहली पंक्ति [0 से एक मूल्य उत्पन्न करता है; 1) अंतराल; दूसरा एक मूल्य [ए, बी) देता है।

यदि आप अंतराल के भीतर एन यादृच्छिक मान प्राप्त करना चाहते हैं [ए; ख] (उदाहरण के लिए, से अंतराल [1 5 यादृच्छिक मान; 2]: {1, 1.25, 1.5, 1.75, 2}) निम्नलिखित का उपयोग करें:

r := RandomRange(0, N-1); 
x := a + r*(b-a)/(N-1); 
+0

यह 'रैंडमरेंज (0, एन) होना चाहिए –

1
एक विशिष्ट मूल्य के

आप उपयोग कर सकते हैं

randomize; 
ran:=random(6)+1; 

वह मान 1 से 6