यादृच्छिक सीएसएस रंग कोड


10

जावास्क्रिप्ट में यादृच्छिक सीएसएस रंग कोड उत्पन्न करने के बारे में इस ब्लॉग पोस्ट में जावास्क्रिप्ट में यादृच्छिक रंग उत्पन्न करने के लिए कई समाधान हैं। सबसे छोटा मैं पा सकता हूं:

'#'+(Math.random()*0xffffff).toString(16).slice(-6)

यदि आप CSS रंग कोड से परिचित नहीं हैं, तो यहां दस्तावेज़ पढ़ें।

क्या हम बेहतर कर सकते हैं? अन्य भाषाओं के बारे में क्या?


तुम्हारा टूट गया है, तो आप एक भूल रहे हैं +के बाद'#'
दरवाज़े

1
आप ऐसा करके स्लाइस को हटा सकते हैं#'+(Math.random()*0xffffff|0).toString(16)
ग्रिफिन

1
"0xffffff" के लिए क्या आवश्यक है? मैं इसके बिना अपने परिणामों में बहुत अंतर नहीं देख रहा हूं।
पथ ४११

4
@ path411 सैद्धांतिक रूप से, Math.random().toString(16)(हेक्सा) दशमलव बिंदु के बाद 6 से कम हेक्स अंकों के साथ एक प्रतिनिधित्व का उत्पादन कर सकता है, जिस स्थिति में फ़ंक्शन टूट जाएगा। उदाहरण के लिए, .1658172607421875 हो जाता है 0.2A73 हेक्स में।
प्रिमो

जवाबों:


26

PHP 23 बाइट्स

#<?=md5(rand())&ÿÿÿÿÿÿ;

ÿचरित्र 255 कहाँ है। बिटवाइज़ और से लौटे स्ट्रिंग को छोटा करेगा md5, जो पहले से ही हेक्साडेसिमल प्रारूप में है।


7
यह साइट पर मेरे पसंदीदा समाधानों में से एक है।
ग्रिफिन

7

तीन वर्ण कोड भी मान्य हैं, इसलिए मैं कुछ वर्ण सहेज सकता हूं ( 4095 == 0xfff):

रूबी, २४ २३ २२22

'#%03x'%rand(4095)

मैं तो है तो एक 6-चार से एक का उपयोग करने के लिए,:

रूबी, २ 28 २y २६ २४ २०

एक पात्र को बंद कर दिया क्योंकि 8**8-1 == 0xffffff

'#%06x'%rand(8**8-1)

4 तार की बचत, प्रारूप स्ट्रिंग के लिए क्रोन के लिए धन्यवाद!


धोखा ( मन में इस xkcd पट्टी के साथ ):

रूबी / जेएस / पायथन / पर्ल / बहुत अधिक, 6 (या 5)

"#a83"

मैं आपको आश्वासन देता हूं, मैंने इसे अनियमित रूप से उत्पन्न किया है!

यहां तक ​​कि एक चियरियर संस्करण:

"red"

आपको रूबी में विधि कॉल के लिए कोष्ठक की आवश्यकता नहीं है, है ना?
मोहसैन

@Mohsen हाँ, पर रूबी भ्रमित और सोचता है कि मैं फोन कर रहा हूँ हो जाता है to_sपर 4095अगर मैं उन्हें छोड़ देते हैं।
दरवाज़े

आप इसे '#%06x'%rand(8**8-1)
स्प्रिंटफ

@ तुल्यकालित, धन्यवाद! का संपादन
दरवाज़े

6

जावास्क्रिप्ट

'#'+Math.random().toString(16).substr(2,6)

42 की उम्र में थोड़ा छोटा।


1
मुझे यकीन नहीं है कि यह क्यों ठुकरा दिया गया था। यह मेरे द्वारा परीक्षण किए गए प्रत्येक ब्राउज़र में ठीक काम करता है। +1
प्राइमो

5
#'+Math.random().toString(16).slice(-6)
मोहसिन

@ बहुत अच्छा! पता नहीं टुकड़ा नकारात्मक कर सकता है।
ट्रिस्टिन

3

मछली 79 ९

vnnnnnnnn 
601234567;
>xxxxxxxx<
 89""""""?
 nnABCDEF:
 vv""""""-
 vvoooooo1
 >>>>>>>>^

दुनिया में सबसे छोटा समाधान नहीं है, लेकिन यह कोड के लिए मजेदार था :)

यह एक समान वितरण भी नहीं है, लेकिन सभी आउटपुट में गैर-शून्य संभावना 7 और एफ सबसे अधिक संभावना अंक हैं।

आउटपुट:

python fish.py randomColor.fish
07FFF7

python fish.py randomColor.fish
07EFD7

python fish.py randomColor.fish
366F67

python fish.py randomColor.fish
977FD7

python fish.py randomColor.fish
97F7F7

python fish.py randomColor.fish
87F6FF

1

एपीएल (17)

'#',(⎕D,⎕A)[6?16]

स्पष्टीकरण:

  • 6?16: 1 से 16 तक 6 यादृच्छिक संख्या
  • ⎕D,⎕A: अंक ( 0..9) वर्णमाला के बाद ( A..Z) (लेकिन केवल पहले 16 मान कभी उपयोग किए जाते हैं, अर्थात 0..F)
  • '#',: #सामने जोड़ दें

6?166 गैर-दोहराए जाने वाले यादृच्छिक मूल्य हैं, हालांकि, यह रंग स्थान को थोड़ा सा
बढ़ाता है


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.