दिलचस्प पोस्ट
Print_r आउटपुट से मूल PHP सरणी को पुन: बनाएँ आप Firebase में डुप्लिकेट उपयोगकर्ता गुणों को कैसे रोक सकते हैं? कैसे xdebug var_dump को पूर्ण ऑब्जेक्ट / सरणी दिखाने के लिए Xcode की छिपी हुई विशेषताओं PHP फ़ंक्शन के साथ अपरिभाषित चर समस्या सिपपी को पीआईपी के माध्यम से स्थापित नहीं किया जा सकता PHP के साथ .php एक्सटेंशन निकालें कैलेंडर दृश्य शैली बदलें क्या इंडेरेक्शन लागू करते समय मानक जनादेश पॉइंटर वैरिएबल का एक लावल्यू-टू-रैवल्यू रूपांतरण होता है? पायथन में निजी और संरक्षित तरीकों का उत्तराधिकार स्थिति के आधार पर एक निश्चित मार्ग पर पुनर्निर्देशित करना मैवेन "पथ का निर्माण निष्पादन पर्यावरण J2SE-1.5 निर्दिष्ट करता है", भले ही मैंने इसे बदलकर 1.7 कर दिया जब एक HTML5 वीडियो समाप्त हो जाए, तब पता लगाएं Y- अक्ष पर JQuery एनीमेट पृष्ठभूमि छवि केवल शारीरिक wsdl फ़ाइल के साथ सेवा संदर्भ कैसे उत्पन्न करें

एक पंक्ति में कई बयानों को कैसे रखा जाए?

मुझे यकीन नहीं था कि इस प्रश्न पर विचार करने के लिए शीर्षक क्या है, कोडिंग गोल्फ उचित लगता है अगर थोड़ा सा अनिर्दिष्ट

मैं अजगर में थोड़े-कुछ समझता हूं लेकिन उन्हें 'पढ़ना' बहुत मुश्किल लगता है। जिस तरह से मैं इसे देखता हूं, उसे समझने के लिए निम्न कोड के रूप में पूरा किया जा सकता है:

for i in range(10): if i == 9: print('i equals 9') 

इस कोड को पढ़ने में काफी आसान है कि समझें कि वर्तमान में किस प्रकार काम किया जाता है लेकिन मैंने देखा है कि आपको एक पंक्ति में 'दो' नहीं है … यह मुझे भी लाता है …

मेरा प्रश्न:

क्या कोई तरीका है मैं निम्नलिखित उदाहरण को एक लाइन में प्राप्त कर सकता हूं?

 try: if sam[0] != 'harry': print('hello', sam) except: pass 

ऐसा कुछ बहुत अच्छा होगा:

 try: if sam[0] != 'harry': print('hellp', sam) except:pass 

लेकिन फिर से मुझे परस्पर विरोधी का सामना करना पड़ता है: 'मुझे यह जानना भी अच्छा लगेगा कि बिना किसी कोशिश के (या ऐसा कुछ) चलाने के लिए कोई रास्ता नहीं है, यह पूरी तरह निरर्थक लगता है कि मुझे छोड़कर छोड़ना होगा: इसकी बर्बाद लाइन

आपके लिए इनपुट के लिए धन्यवाद … और यहां एक स्माइली है : डी

Solutions Collecting From Web of "एक पंक्ति में कई बयानों को कैसे रखा जाए?"

दुर्भाग्य से, आप जो चाहते हैं वह पायथन के साथ संभव नहीं है (जो कि कमांड लाइन के एक-लाइनर कार्यक्रमों के लिए अजगर के पास बेकार है)। पैरों का स्पष्ट उपयोग सिंटैक्स अपवाद से बचने के लिए नहीं है। आप साधारण अक्षरों के अनुक्रम के साथ, अर्द्ध-बृहदान्त्र द्वारा अलग से प्राप्त कर सकते हैं:

 for i in range(10): print "foo"; print "bar" 

लेकिन जैसे ही आप एक कंस्ट्रक्शन जोड़ते हैं, जो इंडेंट ब्लॉक (जैसे if ) का परिचय देता है, आपको लाइन ब्रेक की आवश्यकता होती है इसके अलावा,

 for i in range(10): print "i equals 9" if i==9 else None 

कानूनी है और अनुमान लगा सकते हैं कि आप क्या चाहते हैं।

try ... except लिए के रूप में try ... except बात try ... except : यह बिना except पूरी तरह से बेकार होगा। try कहता है "मैं इस कोड को चलाना चाहता हूं, लेकिन यह अपवाद फेंक सकता है"। यदि आप अपवाद के बारे में परवाह नहीं करते हैं, तो try छोड़ दें। लेकिन जैसे ही आप इसे डालते हैं, आप कह रहे हैं "मैं एक संभावित अपवाद को संभालना चाहता हूं" pass तो कहते हैं कि आप इसे विशेष रूप से संभाल नहीं करना चाहते हैं लेकिन इसका मतलब है कि आपका कोड जारी रहेगा, जो अन्यथा नहीं होगा

आप अंतर्निहित exec कथन का उपयोग कर सकते हैं, उदाहरण के लिए:

 exec("try: \n \t if sam[0] != 'harry': \n \t\t print('hello', sam) \nexcept: pass") 

जहां \n एक नई रेखा है और \t इंडेंटेशन (एक टैब) के रूप में उपयोग किया जाता है।
इसके अलावा, आपको आपके द्वारा उपयोग की जाने वाली रिक्त स्थान की गिनती करनी चाहिए, इसलिए आपका इंडैेंडेशन बिल्कुल ठीक से मेल खाता है।

हालांकि, जैसा कि अन्य सभी उत्तर पहले से ही कह चुके हैं, यह निश्चित रूप से इस्तेमाल किया जाना है जब आपको वास्तव में इसे एक पंक्ति पर रखना होगा।

exec एक खतरनाक कथन है (खासकर जब वेबपेज का निर्माण कर रहा है) क्योंकि यह मनमानी पायथन कोड के निष्पादन की अनुमति देता है।

यह मत करो!

आप जो वर्णन कर रहे हैं वह कोई समझ नहीं है यह समझ के बाहर है!

पायथन कोड के लिए PEP 8 स्टाइल गाइड से , जो कि प्रत्येक पायथन डेवलपर के लिए आवश्यक रीडिंग है:

  • यौगिक बयान (एक ही पंक्ति के कई बयान) आमतौर पर हतोत्साहित किए जाते हैं।

हाँ:

  if foo == 'blah': do_blah_thing() do_one() do_two() do_three() 

बल्कि नहीं:

  if foo == 'blah': do_blah_thing() do_one(); do_two(); do_three() 

भेद करने के लिए यहां एक नमूना समझ है:

 >>> [i for i in xrange(10) if i == 9] [9] 

आप बहुत सी चीजों का मिश्रण कर रहे हैं, जो आपके प्रश्न का उत्तर देना कठिन बना देता है। संक्षेप में उत्तर है: जहां तक ​​मुझे पता है, आप क्या करना चाहते हैं, सिर्फ सही तरीके से – पायथन में संभव नहीं है!

लंबा जवाब यह है कि आपको पायथन के साथ अपने आप को और अधिक सहज बनाना चाहिए, यदि आप अजगर में विकास करना चाहते हैं। समझने को पढ़ने में मुश्किल नहीं है। आप उन्हें पढ़ने के लिए उपयोग नहीं किया जा सकता है, लेकिन यदि आप एक पायथन डेवलपर बनना चाहते हैं तो आपको इसका उपयोग करना होगा। यदि कोई ऐसी भाषा है जो आपकी आवश्यकताओं को बेहतर ढंग से फिट करती है, तो उसे चुनें यदि आप अजगर चुनते हैं, तो एक अजगर तरीके से समस्याओं को हल करने के लिए तैयार रहें। बेशक आप अजगर से लड़ने के लिए स्वतंत्र हैं, लेकिन यह मजेदार नहीं होगा! 😉

और अगर आप हमें बताएंगे कि आपकी वास्तविक समस्या क्या है, तो आपको एक अजगर का जवाब भी मिल सकता है। "एक पंक्ति में कुछ लेना" आम तौर पर एक प्रोग्रामिंग समस्या नहीं है

शायद "और" या "या"

लिखने की गलत आवश्यकता के बाद "या"

लिखने की ज़रूरत के बाद "और"

पसंद

 n=0 def returnsfalse(): global n n=n+1 print ("false %d" % (n)) return False def returnstrue(): global n n=n+1 print ("true %d" % (n)) return True n=0 returnsfalse() or returnsfalse() or returnsfalse() or returnstrue() and returnsfalse() 

परिणाम:

 false 1 false 2 false 3 true 4 false 5 

या शायद पसंद है

 (returnsfalse() or true) and (returnstrue() or true) and ... 

Google खोज करके "एक पंक्ति अजगर में एक से अधिक संख्याएं कैसे डालती हैं", यहां सीधे प्रश्नों के उत्तर नहीं दिए गए हैं, शायद किसी और को इसकी आवश्यकता है

इसके acctualy संभव 😉

 # not pep8 compatible^ sam = ['Sam',] try: print('hello',sam) if sam[0] != 'harry' else rais except: pass 

आप अजगर में बहुत बदसूरत सामान कर सकते हैं जैसे:

 def o(s):return''.join([chr(ord(n)+(13if'Z'<n<'n'or'N'>n else-13))if n.isalpha()else n for n in s]) 

जो 99 वर्णों के साथ एक पंक्ति में रोट 13 / सेसा एन्क्रिप्शन के लिए फ़ंक्शन है

यहाँ एक उदाहरण है:

मैं रेंज में (80, 90): प्रिंट (i, end = "") यदि (i! = 8 9) और प्रिंट (i)

आउटपुट: 80 81 82 83 84 85 86 87 88 89

>