2013-06-24 3 views
22

fortran में, मैं उदाहरण के लिए यह कई बार फिर से लिखने को बचाने के लिए एक प्रारूप वर्णनकर्ता को दोहराने के लिए, सक्षम हूँ:क्या मैं अजगर में एक स्ट्रिंग प्रारूप वर्णनकर्ता दोहरा सकता हूं?

write(*,'(i5,i5,i5,i5,i5)')a,b,c,d,e 

एक समान दृष्टिकोण अजगर में इस्तेमाल किया जा सकता

write(*,'(5(i5))')a,b,c,d,e 

के रूप में लिखा जा सकता है?

उदाहरण के लिए, कहते हैं कि मैं अजगर में भी ऐसा ही करना चाहता था, मैं लिखने के लिए होगा:

print "{0:5d} {1:5d} {2:5d} {3:5d} {4:5d}".format(a,b,c,d,e) 

वहाँ किसी तरह fortran में की तरह, प्रारूप वर्णनकर्ता को दोहराने के लिए है?

+4

अजगर में आप, तार पर गुणा कार्रवाई कर सकते हैं, इसलिए यदि आप थे प्रिंट 5 * "स्ट्रिंग" करने के लिए, यह स्ट्रिंग को 5 बार प्रिंट करेगा। –

उत्तर

19

आप स्वरूपण स्वयं स्ट्रिंग को दोहरा सकते हैं:

print ('{:5d} '*5).format(*values) 

स्वरूप स्ट्रिंग एक सामान्य स्ट्रिंग है, तो आप multiply it by int

>>> '{:5d} '*5 
'{:5d} {:5d} {:5d} {:5d} {:5d} ' 
+1

धन्यवाद। भविष्य के संदर्भ के लिए: यह स्वरूपण अभिव्यक्ति वाक्यविन्यास का उपयोग करते समय भी काम करता है: 'प्रिंट (("% 6.2f "* 3 +"% 7.2f "* 2)% (* मान))' - प्रारूप स्ट्रिंग के चारों ओर ब्रैकेट को नोट करें विभिन्न लंबाई के कई समूहों को जोड़ते समय। – AstroFloyd

+0

पायथन 3.6.1 'प्रिंट (' {: 5 डी} '* 5) .format (1,2,3,4,5)' एक विशेषता त्रुटि देता है। 'प्रिंट ('{: 5 डी}' * 5.format (1,2,3,4,5)) 'एक वाक्यविन्यास त्रुटि देता है। हालांकि, 'fmt = '{: 5d}' * 5' 'प्रिंट (fmt.format (1,2,3,4,5)) के बाद वांछित के रूप में प्रिंट। –

संबंधित मुद्दे