मैं पायथन में एक ही लाइन पर चर और स्ट्रिंग कैसे प्रिंट कर सकता हूं?


176

मैं अजगर का उपयोग कर रहा हूं ताकि यह पता लगाया जा सके कि 5 साल में कितने बच्चे पैदा होंगे अगर हर 7 सेकंड में एक बच्चा पैदा होता है। समस्या मेरी अंतिम पंक्ति पर है। जब मैं इसके दोनों ओर टेक्स्ट प्रिंट कर रहा होता हूं तो मुझे काम करने के लिए एक चर कैसे मिलता है?

यहाँ मेरा कोड है:

currentPop = 312032486
oneYear = 365
hours = 24
minutes = 60
seconds = 60

# seconds in a single day
secondsInDay = hours * minutes * seconds

# seconds in a year
secondsInYear = secondsInDay * oneYear

fiveYears = secondsInYear * 5

#Seconds in 5 years
print fiveYears

# fiveYears in seconds, divided by 7 seconds
births = fiveYears // 7

print "If there was a birth every 7 seconds, there would be: " births "births"

2020 में सावधान रहें (सामान्य ज्ञान, मुझे पता है: डी)। Python3 में Print एक फंक्शन बन गया है, इसे अब ब्रैकेट के साथ उपयोग करने की आवश्यकता है: print(something)(इस वर्ष के बाद से Python2 है।)
PythoNic

जवाबों:


262

,छपाई करते समय अलग तार और चरों का उपयोग करें :

print "If there was a birth every 7 seconds, there would be: ",births,"births"

, प्रिंट स्टेटमेंट में आइटम को एक ही स्थान से अलग करता है:

>>> print "foo","bar","spam"
foo bar spam

या बेहतर उपयोग स्ट्रिंग स्वरूपण :

print "If there was a birth every 7 seconds, there would be: {} births".format(births)

स्ट्रिंग स्वरूपण बहुत अधिक शक्तिशाली है और आपको कुछ अन्य चीजें भी करने की अनुमति देता है, जैसे: गद्दी, भरण, संरेखण, चौड़ाई, सटीक सटीकता आदि।

>>> print "{:d} {:03d} {:>20f}".format(1,2,1.1)
1 002             1.100000
  ^^^
  0's padded to 2

डेमो:

>>> births = 4
>>> print "If there was a birth every 7 seconds, there would be: ",births,"births"
If there was a birth every 7 seconds, there would be:  4 births

#formatting
>>> print "If there was a birth every 7 seconds, there would be: {} births".format(births)
If there was a birth every 7 seconds, there would be: 4 births

पाइटन में इनमें से कोई भी काम नहीं। 3. गगन अग्रवाल के जवाब को लाइक करें।
एक्सल ब्रेग्न्सबो

58

दो और

पहले वाला

 >>>births = str(5)
 >>>print "there are " + births + " births."
 there are 5 births.

तार जोड़ते समय, वे समतल करते हैं।

दूसरा एक

इसके अलावा formatपायथन 2.6 और नए) स्ट्रिंग्स का तरीका शायद मानक तरीका है:

>>> births = str(5)
>>>
>>> print "there are {} births.".format(births)
there are 5 births.

इस formatपद्धति का उपयोग सूचियों के साथ भी किया जा सकता है

>>> format_list = ['five','three']
>>> print "there are {} births and {} deaths".format(*format_list) #unpack the list
there are five births and three deaths

या शब्दकोश

>>> format_dictionary = {'births': 'five', 'deaths': 'three'}
>>> print "there are {births} births, and {deaths} deaths".format(**format_dictionary) #yup, unpack the dictionary
there are five births, and three deaths

52

अजगर एक बहुत ही बहुमुखी भाषा है। आप विभिन्न तरीकों से चर प्रिंट कर सकते हैं। मैंने नीचे 4 विधियाँ दी हैं। आप अपनी सुविधा के अनुसार इनका उपयोग कर सकते हैं।

उदाहरण:

a=1
b='ball'

विधि 1:

print('I have %d %s' %(a,b))

विधि 2:

print('I have',a,b)

विधि 3:

print('I have {} {}'.format(a,b))

विधि 4:

print('I have ' + str(a) +' ' +b)

विधि 5:

  print( f'I have {a} {b}')

आउटपुट होगा:

I have 1 ball

निर्णय आपकी प्रोग्रामिंग शैली से संबंधित है: एम 2 प्रक्रियात्मक प्रोग्रामिंग है, एम 3 ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग है। M5 के लिए कुंजीशब्द स्वरूपित स्ट्रिंग शाब्दिक है । जरूरत पड़ने पर M1 और M4 जैसे स्ट्रिंग संचालन का उपयोग किया जाना चाहिए, जो कि यहाँ नहीं है (शब्दकोशों और ट्यूपल्स के लिए M1;
as4 ascii-


16

अजगर 3.6 के रूप में आप लिटरल स्ट्रिंग इंटरपोलेशन का उपयोग कर सकते हैं

births = 5.25487
>>> print(f'If there was a birth every 7 seconds, there would be: {births:.2f} births')
If there was a birth every 7 seconds, there would be: 5.25 births

1
जटिल तारों के लिए मेरा पसंदीदा।
जेसन लेमोनियर

14

आप या तो f-string या .format () विधियों का उपयोग कर सकते हैं

एफ-स्ट्रिंग का उपयोग करना

print(f'If there was a birth every 7 seconds, there would be: {births} births')

.Format () का उपयोग करना

print("If there was a birth every 7 seconds, there would be: {births} births".format(births=births))

12

आप या तो एक स्वरूपण का उपयोग कर सकते हैं:

print "There are %d births" % (births,)

या इस साधारण मामले में:

print "There are ", births, "births"

2
हालांकि उस दूसरे तरीके का उपयोग करते समय सावधान रहें, क्योंकि यह एक टपल है, न कि एक स्ट्रिंग।
तेहरिस

5

यदि आप अजगर 3.6 या नवीनतम का उपयोग कर रहे हैं, तो एफ-स्ट्रिंग सबसे अच्छा और आसान है

print(f"{your_varaible_name}")


3

एक मौजूदा अजगर संस्करण पर आपको कोष्ठक का उपयोग करना होगा, जैसे:

print ("If there was a birth every 7 seconds", X)

2

स्ट्रिंग स्वरूपण का उपयोग करें

print("If there was a birth every 7 seconds, there would be: {} births".format(births))
 # Will replace "{}" with births

यदि आप एक खिलौना परियोजना का उपयोग कर रहे हैं:

print('If there was a birth every 7 seconds, there would be:' births'births) 

या

print('If there was a birth every 7 seconds, there would be: %d births' %(births))
# Will replace %d with births

1

आप ऐसा करने के लिए स्ट्रिंग स्वरूपण का उपयोग कर सकते हैं :

print "If there was a birth every 7 seconds, there would be: %d births" % births

या आप printकई तर्क दे सकते हैं , और यह स्वचालित रूप से उन्हें एक स्थान से अलग कर देगा:

print "If there was a birth every 7 seconds, there would be:", births, "births"

उत्तर एम्बर के लिए धन्यवाद। क्या आप बता सकते हैं कि% चिन्ह के बाद 'd' क्या करता है? धन्यवाद
बॉब यूनी

2
%dका अर्थ है "पूर्णांक के रूप में प्रारूप मूल्य"। इसी तरह, %s"एक स्ट्रिंग के रूप में प्रारूप मूल्य" होगा, और %f"एक अस्थायी बिंदु संख्या के रूप में प्रारूप मूल्य" होगा। ये और अधिक मुझे अपने उत्तर में जुड़े पायथन मैनुअल के हिस्से में प्रलेखित हैं।
अंबर

1

मैंने आपकी स्क्रिप्ट को एक .py फ़ाइल में कॉपी और पेस्ट किया है। मैंने इसे पाइथन 2.7.10 के रूप में चलाया और वही सिंटैक्स त्रुटि प्राप्त की। मैंने पायथन 3.5 में भी स्क्रिप्ट की कोशिश की और निम्नलिखित आउटपुट प्राप्त किया:

File "print_strings_on_same_line.py", line 16
print fiveYears
              ^
SyntaxError: Missing parentheses in call to 'print'

फिर, मैंने अंतिम पंक्ति को संशोधित किया, जहां यह जन्म की संख्या को निम्नानुसार प्रिंट करता है:

currentPop = 312032486
oneYear = 365
hours = 24
minutes = 60
seconds = 60

# seconds in a single day
secondsInDay = hours * minutes * seconds

# seconds in a year
secondsInYear = secondsInDay * oneYear

fiveYears = secondsInYear * 5

#Seconds in 5 years
print fiveYears

# fiveYears in seconds, divided by 7 seconds
births = fiveYears // 7

print "If there was a birth every 7 seconds, there would be: " + str(births) + " births"

आउटपुट था (पायथन 2.7.10):

157680000
If there was a birth every 7 seconds, there would be: 22525714 births

आशा है कि ये आपकी मदद करेगा।


1

बस का उपयोग करें, (अल्पविराम) के बीच में।

बेहतर समझ के लिए यह कोड देखें:

# Weight converter pounds to kg

weight_lbs = input("Enter your weight in pounds: ")

weight_kg = 0.45 * int(weight_lbs)

print("You are ", weight_kg, " kg")

0

थोड़ा अलग: पायथन 3 का उपयोग करना और एक ही पंक्ति में कई चर प्रिंट करना :

print("~~Create new DB:",argv[5],"; with user:",argv[3],"; and Password:",argv[4]," ~~")

0

पायथन 3

प्रारूप विकल्प का उपयोग करने के लिए बेहतर है

user_name=input("Enter your name : )

points = 10

print ("Hello, {} your point is {} : ".format(user_name,points)

या इनपुट को स्ट्रिंग और उपयोग के रूप में घोषित करें

user_name=str(input("Enter your name : ))

points = 10

print("Hello, "+user_name+" your point is " +str(points))

1
स्ट्रिंग "Enter your name :
मिसिंग

print ("Hello, {} your point is {} : ".format(user_name,points) लापता समापन ब्रैकेट।
हिल्सि नोव

0

यदि आप स्ट्रिंग्स और वैरिएबल कोमा का उपयोग करते हैं, तो इस तरह:

print "If there was a birth every 7 seconds, there would be: ", births, "births"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.