पायथन संस्करणों की सूची


36

पायथन आज सबसे तेजी से विकसित होने वाली प्रमुख प्रोग्रामिंग भाषा है। यह लगातार तीसरे वर्ष के लिए सबसे अधिक वांछित भाषा है, जिसका अर्थ है कि डेवलपर्स जो अभी तक इसका उपयोग नहीं करते हैं वे कहते हैं कि वे इसे सीखना चाहते हैं। [1]

पायथन की लोकप्रियता का कारण इसके कई संस्करण हैं। [उद्धरण वांछित] वास्तव में पायथन के ११६ संस्करण हैं, जिनमें दो विकास संस्करण शामिल हैं।

आपका कार्य सभी पायथन संस्करणों की एक सूची को आउटपुट / प्रिंट करना है, जो भी आपको पसंद है और जो भी स्वरूप आपको पसंद है। आप किसी भी अंतर्निहित कार्य का उपयोग नहीं कर सकते हैं जिसमें यह जानकारी संग्रहीत है।

आप उत्पादन प्रारूप चुनने के लिए स्वतंत्र हैं, लेकिन प्रत्येक संस्करण मानक रास्ते पर पहचान की जानी चाहिए: 1.1, 2.3.0, 2.7.10और पर इतना।

पायथन संस्करणों की पूरी सूची 2 , अल्पविराम से अलग दिखाया गया है:

1.1, 1.2, 1.3, 1.4, 1.5, 1.5.1, 1.5.2, 1.6, 2.0, 2.0.1, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.2, 2.2.1, 2.2.2, 2.2.3, 2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 3.0, 3.0.1, 3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.2 , 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.7.1, 3.7.2, 3.7.3

या प्रमुख संस्करणों द्वारा:

1.1
1.2
1.3
1.4
1.5, 1.5.1, 1.5.2
1.6
2.0, 2.0.1
2.1, 2.1.1, 2.1.2, 2.1.3
2.2, 2.2.1, 2.2.2, 2.2.3
2.3, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5
2.4, 2.4.1, 2.4.2, 2.4.3, 2.4.4
2.5, 2.5.1, 2.5.2, 2.5.3, 2.5.4
2.6, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9
2.7, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16
3.0, 3.0.1
3.1, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5
3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6
3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7
3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6, 3.4.7, 3.4.8, 3.4.9, 3.4.10 
3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.5.4, 3.5.5, 3.5.6, 3.5.7
3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8
3.7.0, 3.7.1, 3.7.2, 3.7.3

चुनौती एक निश्चित आउटपुट चुनौती है, और एक बहुत करीब है , सिवाय इसके कि आउटपुट प्रारूप वैकल्पिक है।

2 सूची आधिकारिक पायथन वेबसाइट से ली गई है, यहां और यहां । कुछ संस्करण हैं जो शामिल नहीं हैं, जैसे 0.9.0.. 0.9.9और 1.5.1p1। आपको उपरोक्त सूची का उपयोग करना चाहिए, भले ही आपको ऐसे संस्करण मिलें जो शामिल नहीं हैं। मैंने आधिकारिक सूचियों के साथ रहने का फैसला किया है, क्योंकि अन्यथा किसी को 2.1.0.1.2संस्करण या ऐसा कुछ मिलेगा ।


2
मुझे लगता है कि हमें आउटपुट 1.1.0(सभी संस्करणों को 3 नंबर बनाने की अनुमति नहीं है ) के बजाय 1.1?
केविन क्रूज़सेन

2
आप सही ढंग से @ केविन का अनुमान लगाते हैं। मैंने इसे अनुमति देने पर विचार किया, लेकिन इसके बजाय आधिकारिक नामों के साथ गया।
स्टीवी ग्रिफिन

जवाबों:


17

जावास्क्रिप्ट (ईएस 6),  128 125  124 बाइट्स

सहेजे गए 1 बाइट @ OlivierGrégoire की बदौलत

प्रत्येक संस्करण को एक अलग लाइन पर आउटपुट करता है। उच्चतम से सबसे बड़े प्रमुख संस्करण का आदेश दिया गया, और निम्नतम से उच्चतम संशोधन तक।

f=(r=v=28)=>v?r<parseInt('0111131000244655ah002678b8940'[v],36)?(1+v/10).toFixed(1)+(r|v>22?'.'+r:'')+`
`+f(r+1):f(+!v--):''

इसे ऑनलाइन आज़माएं!

कैसे?

बड़ी और छोटी संस्करण विभिन्न में आयोजित की जाती हैं v[0..27] :

  • प्रमुख = v/10+1
  • नाबालिग = vआधुनिक10

संशोधन चर में आयोजित किया । का अधिकतम मूल्य पर निर्भर करता है और बेस -36 में एन्कोडेड लुकअप टेबल में संग्रहीत किया जाता है। इस तालिका में किसी भी का मतलब है कि यह संस्करण बिल्कुल भी जारी नहीं किया गया था।आर0आरv0

इसके अलावा, हम यह जानने के लिए परीक्षण का उपयोग करते हैं कि क्या संशोधन होने पर भी शामिल होना चाहिए (पायथन 3.3.0 से शुरू)।v>220


5

सी # (विजुअल सी # इंटरएक्टिव कंपाइलर) , 109 बाइट्स

for(int j,k=1;;k++)for(j=@" [SOH][SOH][SOH][SOH][ETX][SOH][NUL][NUL][NUL][STX][EOT][EOT][ACK][ENQ][ENQ]
[DC1][NUL][NUL][STX][ACK][BEL][BS][VT][BS][TAB][EOT]"[k];j-->0;)Print($"{k*.1+1:N1}"+(j<1&k<17?"":"."+j));

कई unprintables शामिल हैं, जिनके कोड कोष्ठक में दिखाए गए हैं। यह एक पूर्ण कार्यक्रम है। नल बाइट्स को \0TIO लिंक में s द्वारा प्रतिस्थापित किया जाता है , क्योंकि मेरा डिवाइस उन्हें कॉपी और पेस्ट नहीं कर सकता है।

@OlivierGregoire को एक बाइट धन्यवाद दिया।

इसे ऑनलाइन आज़माएं! (अशक्त बाइट्स आरोपण के लिए @OlivierGregoire के लिए धन्यवाद)

व्याख्या

स्ट्रिंग में प्रत्येक वर्ण प्रमुख स्थिति में कितने लघु संस्करणों का प्रतिनिधित्व करता है। उदाहरण के लिए, सूचकांक 5 ( ETX) में वर्ण का ASCII मान तीन है, और प्रमुख संस्करण से मेल खाता है 1.5.xजिसमें तीन लघु संस्करण हैं। कार्यक्रम में वर्तमान चरित्र का एससीआई मान लिया गया है और अगले प्रमुख संस्करण पर जाने से पहले कई बार छोटे संस्करणों को प्रिंट करने वाले लूप्स को लिया गया है।

कुछ संस्करणों के लिए, अगले संस्करणों के लिए अंतराल हैं। इसे ठीक करने के लिए, स्ट्रिंग में अशक्त बाइट्स हैं, ताकि जब यह सामना करे तो प्रोग्राम शून्य बार लूप करे।

अचूक स्ट्रिंग में ये वर्ण मान होते हैं:

1,1,1,1,3,1,0,0,0,2,4,4,6,5,5,10,17,0,0,2,6,7,8,11,8,9,4

के साथ छोटा किया जा सकता है j="..."[k];j-->0;, खासकर जब से आदेश का कोई महत्व नहीं है। इसके अलावा, क्या आप TIO (115 बाइट्स) और प्रविष्टि (110 बाइट्स) के बीच के आकार में अंतर बता सकते हैं?
ओलिवियर ग्रेगोइरे

@ ओलिवियरग्रैगोइयर संभवतः पांच अशक्त बाइट्स है जो कि tio को 0 के रूप में दर्शाते हैं
सेफा

@ सिफा हां, शायद ... लेकिन मैं निश्चितता के लिए कह रहा हूं।
ओलिवियर ग्रेगोइरे

@ ओलिवियरग्रेयर वास्तव में सेफा ने कहा, मैं वास्तव में शून्य बाइट्स को कॉपी-पेस्ट नहीं कर सकता। यदि \0n को बाइट्स द्वारा बदल दिया गया था, तो यह 110 बाइट होगा
अज्ञानता का अवतार


4

पायथ, 52 बाइट्स

.emj\.+W|d>k18,h/k8%k8dbxLG"abbbbdbaceegffkrcghilije

इसे यहाँ ऑनलाइन आज़माएँ ।

आउटपुट एक नेस्टेड सूची है, जिसमें प्रमुख और लघु संस्करण द्वारा समूहीकृत तत्व हैं। आउटपुट की शुरुआत में एक खाली सूची है, और एक के बाद एक 1.6। पूर्ण उत्पादन निम्नानुसार है:

[[], ['1.1'], ['1.2'], ['1.3'], ['1.4'], ['1.5', '1.5.1', '1.5.2'], ['1.6'], [], ['2.0', '2.0.1'], ['2.1', '2.1.1', '2.1.2', '2.1.3'], ['2.2', '2.2.1', '2.2.2', '2.2.3'], ['2.3', '2.3.1', '2.3.2', '2.3.3', '2.3.4', '2.3.5'], ['2.4', '2.4.1', '2.4.2', '2.4.3', '2.4.4'], ['2.5', '2.5.1', '2.5.2', '2.5.3', '2.5.4'], ['2.6', '2.6.1', '2.6.2', '2.6.3', '2.6.4', '2.6.5', '2.6.6', '2.6.7', '2.6.8', '2.6.9'], ['2.7', '2.7.1', '2.7.2', '2.7.3', '2.7.4', '2.7.5', '2.7.6', '2.7.7', '2.7.8', '2.7.9', '2.7.10', '2.7.11', '2.7.12', '2.7.13', '2.7.14', '2.7.15', '2.7.16'], ['3.0', '3.0.1'], ['3.1', '3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5'], ['3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', '3.2.6'], ['3.3.0', '3.3.1', '3.3.2', '3.3.3', '3.3.4', '3.3.5', '3.3.6', '3.3.7'], ['3.4.0', '3.4.1', '3.4.2', '3.4.3', '3.4.4', '3.4.5', '3.4.6', '3.4.7', '3.4.8', '3.4.9', '3.4.10'], ['3.5.0', '3.5.1', '3.5.2', '3.5.3', '3.5.4', '3.5.5', '3.5.6', '3.5.7'], ['3.6.0', '3.6.1', '3.6.2', '3.6.3', '3.6.4', '3.6.5', '3.6.6', '3.6.7', '3.6.8'], ['3.7.0', '3.7.1', '3.7.2', '3.7.3']]

यदि यह स्वीकार्य नहीं है, .nतो कोड को 2 बाइट्स की कीमत पर एक चपटा सूची के रूप में आउटपुट के लिए प्रस्तुत करना है।


4

जावा (JDK) , 134 बाइट्स

v->{for(int a=0,b;;)for(b="0111131000244655:A002678;894".charAt(++a)-48;b-->0;)System.out.printf("%.1f%s ",a*.1+1,b<1&a<23?"":"."+b);}

इसे ऑनलाइन आज़माएं!

संस्करण उच्चतम से निम्नतम तक मुद्रित होते हैं।

क्रेडिट


1
(a>1|b>0)&c<a.valueOf(y,36)हो सकता है a>1|b>0&&c<a.valueOf(y,36)और 2 बाइट्स बचाने के लिए c<1&(a<3|b<3)?हो सकता c<1&&a<3|b<3?है। प्रासंगिक जावा टिप - अनुभाग कोष्ठक का उपयोग करने के बजाय बिट-वार और तार्किक जांच का संयोजन
केविन क्रूज़सेन

@KevinCruijssen धन्यवाद, लेकिन मैंने इतने बदलाव किए कि आपके सुझाव अब अप्रासंगिक हो गए हैं ... नहीं जानते कि मैं आपको कैसे श्रेय देता हूं क्योंकि मैं आपके सुझाव का अब भी उपयोग नहीं करता :(
ओलिवियर ग्रेजायर

1
एनपी, इसके बजाय मैं एक नए गोल्फ का सुझाव दूंगा;) /10dहो सकता है*.1
केविन क्रूज़सेन

1
int a=28-> int a=1, और लूप के लिए स्थिति को हटा दें, फिर a++3 बाइट्स बचाने के लिए एक जोड़ें । TIO
इग्नोरेंस


3

रेटिना , 105 बाइट्स


11* 111131   244655TS  2678E894
L$`.
$&_$.`
T
10
E
11
S
17
.+_
*
Lv$`_+(.)(.)
$1.$2.$.%`
,16`(...)\.0
$1

इसे ऑनलाइन आज़माएं! @ अरनल्ड के समाधान पर आधारित है। स्पष्टीकरण:


11* 111131   244655TS  2678E894

दिए गए वर्णों के बाद 11 स्थानों से मिलकर स्ट्रिंग डालें।

L$`.
$&_$.`

प्रत्येक वर्ण के लिए, यह एक _और उसके कॉलम संख्या के साथ प्रत्यय की सूची है ।

T
10
E
11
S
17

तीन अक्षरों को संख्यात्मक मान में बदलें।

.+_
*

संख्यात्मक मानों को एक में परिवर्तित करें।

Lv$`_+(.)(.)
$1.$2.$.%`

दिए गए मान तक के प्रत्येक मूल्य के लिए, संस्करण संख्या के लिए प्रत्यय के रूप में, स्तंभ संख्या से प्रमुख और मामूली को निकालने के लिए उपयोग करें।

,16`(...)\.0
$1

पहले वाले 16 संस्करणों के लिए शून्य प्रत्यय हटाएं।


2

जेली , 51 बाइट्स

+⁵D;ⱮḶ}j€”.
“øṄƇịɱ⁽Ɱj>⁶7,Ẉ¢’b18Ė0ị$Ƈç/€ḣ3$€1¦€17R¤¦

इसे ऑनलाइन आज़माएं!

एक niladic लिंक जो .प्रमुख संस्करण द्वारा समूहीकृत-पूर्णांक के सूचियों की सूची को आउटपुट करता है । TIO पर, इन प्रीटी को प्रिंट करने के लिए कुछ पाद कोड है।


0

33 , 484 बाइट्स

"1."es[lz1azpois4m]"1.5"pi"1.5."z1apoiapoi"1.6"pi"2.0"pip".1"pizcz"2.1"''pie"."e''es[lz1azpois3m]"2.2"''pie"."et''es[lz1azpois3m]"2.3"''pie"."et''es[lz1azpois5m]"2.4"''pie"."et''es[lz1azpois4m]"2.5"''pie"."et''es[lz1azpois4m]"2.6"''pie"."et''es[lz1azpois9m]"2.7"''pie"."et''es[lz1azpois16m]"3.0"pip".1"pi"3.1"''pie"."et''es[lz1azpois5m]"3.2"''pie"."et''es[lz1azpois6m]"3.3."''es[lzpoi1azs8m]"3.4."''es[lzpoi1azs11m]"3.5."''es[lzpoi1azs8m]"3.6."''es[lzpoi1azs9m]"3.7."''es[lzpoi1azs4m]

मैं इसे अपने ब्रेनफ़ * ck-style भाषा में देना चाहता था।

यह चुनौती के लिए आवश्यक प्रत्येक पायथन संस्करण को प्रिंट करता है, जिसे न्यूलाइन्स द्वारा सीमांकित किया जाता है।

यहाँ एक छोटी सी व्याख्या है।

[lz1azpois4m] | Imitates a for loop starting at 1
[  1az    4m] | For i in range 1 through 4
      p       | - Print the string declared previously (1.5., 3.4., etc.)
       o      | - Print the current value of i
        i     | - Print a newline

[lzpoi1azs8m] | Imitates a for loop starting at 0
[     1az 8m] | For i in range 0 through 7
   poi        | Print the version
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.