मैं पाइथन में यादृच्छिक संख्या उत्पन्न करने के तरीके के बारे में समान प्रश्न देख रहा हूं। उदाहरण: Similar Question - लेकिन मुझे समस्या नहीं है कि यादृच्छिक कार्य हर बार समान मान देता है।random.choice() एक ही दूसरे पर एक ही मूल्य देता है, इससे कोई कैसे बचता है?
मेरा यादृच्छिक जनरेटर ठीक काम करता है, समस्या यह है कि फ़ंक्शन को कॉल करते समय यह वही मान देता है, जो मुझे लगता है, वही दूसरा जो अवांछित है।
मेरे कोड इस
def getRandomID():
token = ''
letters = "abcdefghiklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
for i in range(1,36):
token = token + random.choice(letters)
return token
तरह लग रहा है मैं उल्लेख किया है इस समारोह विभिन्न मूल्यों जब अलग-अलग समय पर पर बुलाया जा रहा है देता है, लेकिन एक ही मान देता है जब एक ही समय में फ़ंक्शन को कॉल। मैं इस समस्या से कैसे बचूं?
मैं डेटाबेस में डालने के लिए सामने वाले अंत में उपयोगकर्ताओं के लिए अद्वितीय आईडी उत्पन्न करने के लिए बैक-एंड-सर्वर में इस फ़ंक्शन का उपयोग करता हूं ताकि जब ऐसा होता है तो मैं समय अंतराल को नियंत्रित नहीं कर सकता। डेटाबेस में उपयोगकर्ताओं को मानचित्र में मैप करने के लिए यादृच्छिक टोकन होना चाहिए ताकि डेटाबेस में queuenumbers के साथ उन्हें सही ढंग से सम्मिलित किया जा सके।
जैसे ही दो उपयोगकर्ता द्वारा एक ही समय में कॉल किया जाता है, वही आईडी लौटाता है ?? – Hackaholic
मैं यादृच्छिक उपयोगकर्ता आईडी उत्पन्न करने के लिए 'uuid' का उपयोग करने का सुझाव देना चाहता हूं। – hjpotter92
हैकहोलिक - बिल्कुल, यह वही "टोकन" देता है जो दो उपयोगकर्ताओं द्वारा बुलाए जाने पर यादृच्छिकता की एक ही स्ट्रिंग है। –