পাইথনে একাধিক যুক্তি মুদ্রণ করুন


309

এটি আমার কোডের স্নিপেট মাত্র:

print("Total score for %s is %s  ", name, score)

তবে আমি এটি মুদ্রণ করতে চাই:

"(নাম) এর জন্য মোট স্কোর (স্কোর)"

যেখানে nameতালিকার একটি পরিবর্তনশীল এবং scoreএটি পূর্ণসংখ্যা। এটি পাইথন 3.3 যদি এটি কিছুটা সহায়তা করে।

উত্তর:


559

এটি করার অনেকগুলি উপায় রয়েছে। %ফর্ম্যাটিং ব্যবহার করে আপনার বর্তমান কোডটি ঠিক করতে , আপনাকে একটি টিপলে পাস করতে হবে:

  1. এটি একটি টিপল হিসাবে পাস:

    print("Total score for %s is %s" % (name, score))

একটি একক উপাদান সহ একটি টুপল দেখতে দেখতে ('this',)

এটি করার অন্যান্য কয়েকটি সাধারণ উপায় এখানে রয়েছে:

  1. অভিধান হিসাবে এটি পাস:

    print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})

এখানে নতুন-স্টাইলের স্ট্রিং ফর্ম্যাটিং রয়েছে যা পড়া সহজ হতে পারে:

  1. নতুন স্টাইলের স্ট্রিং ফর্ম্যাটিং ব্যবহার করুন:

    print("Total score for {} is {}".format(name, score))
  2. সংখ্যার সাথে নতুন স্টাইলের স্ট্রিং ফর্ম্যাটিং ব্যবহার করুন (একই একাধিকবার পুনরায় অর্ডার করার জন্য বা মুদ্রণের জন্য দরকারী):

    print("Total score for {0} is {1}".format(name, score))
  3. সুস্পষ্ট নাম সহ নতুন স্টাইলের স্ট্রিং ফর্ম্যাটিং ব্যবহার করুন:

    print("Total score for {n} is {s}".format(n=name, s=score))
  4. সংযুক্তি স্ট্রিং:

    print("Total score for " + str(name) + " is " + str(score))

সবচেয়ে পরিষ্কার দুটি, আমার মতে:

  1. প্যারামিটার হিসাবে মানগুলি পাস করুন:

    print("Total score for", name, "is", score)

    আপনি যদি না চান printযে উপরের উদাহরণের মাধ্যমে স্পেসগুলি স্বয়ংক্রিয়ভাবে প্রবেশ করাতে পারে তবে sepপ্যারামিটারটি পরিবর্তন করুন :

    print("Total score for ", name, " is ", score, sep='')

    আপনি যদি পাইথন 2 ব্যবহার করছেন তবে শেষ দুটি ব্যবহার করতে পারবেন না কারণ printপাইথন ২-এ কোনও ফাংশন নয় আপনি তবে এই আচরণটি আমদানি থেকে করতে পারেন __future__:

    from __future__ import print_function
  2. fপাইথন 3.6 এ নতুন- স্ট্রিং ফর্ম্যাটিংটি ব্যবহার করুন :

    print(f'Total score for {name} is {score}')

7
অবশ্যই, বরাবরই পুরানো অস্বীকৃত পদ্ধতি রয়েছে:print("Total score for "+str(name)"+ is "+str(score))
সাপ এবং কফি

5
@ স্নেকস্যান্ডকফি: আমি কেবলই করবprint("Total score for", name, "is", score)
ব্লেন্ডার

4
আমার +1। এই দিনগুলিতে আমি .format()বয়স্কদের চেয়ে বেশি পঠনযোগ্য পছন্দ করি % (tuple)- যদিও পরীক্ষাগুলি দেখেছি যা %অন্তরঙ্গন দ্রুত দেখায় । print('xxx', a, 'yyy', b)এছাড়াও সহজ ক্ষেত্রে জন্য জরিমানা। আমি .format_map()যুক্তি হিসাবে অভিধানের সাথে শেখার এবং 'ssss {key1} xxx {key2}'টেমপ্লেটগুলি থেকে পাঠ্য উত্পন্ন করার জন্যও চমৎকার প্রস্তাব দিই । বয়স্কদেরও আছে string_template % dictionary। কিন্তু টেমপ্লেট যে পরিচ্ছন্ন চেহারা না: 'ssss %(key1)s xxx %(key2)s'
পিআরপি

6
অবগতির জন্য, পাইথন 3.6 থেকে, আমরা পেতে F-স্ট্রিং , তাই আপনি এখন কি করতে পারেন print(f"Total score for {name} is {score}")কোন স্পষ্ট ফাংশন কলের মাধ্যমে (দীর্ঘ হিসাবে হিসাবে nameএবং scoreস্পষ্টত সুযোগ আছে)।
ShadowRanger

57

এটি মুদ্রণের অনেকগুলি উপায় রয়েছে।

আরেকটি উদাহরণ সহ এক নজরে আসি।

a = 10
b = 20
c = a + b

#Normal string concatenation
print("sum of", a , "and" , b , "is" , c) 

#convert variable into str
print("sum of " + str(a) + " and " + str(b) + " is " + str(c)) 

# if you want to print in tuple way
print("Sum of %s and %s is %s: " %(a,b,c))  

#New style string formatting
print("sum of {} and {} is {}".format(a,b,c)) 

#in case you want to use repr()
print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))

EDIT :

#New f-string formatting from Python 3.6:
print(f'Sum of {a} and {b} is {c}')

3
print("sum of {0} and {1} is {2}".format(a,b,c)) ওভারকিল, আপনি print("sum of {} and {} is {}".format(a,b,c)) অর্ডার পরিবর্তন করতে না চাইলে আপনি বাদ দিতে পারেন।
জিন-

38

ব্যবহার .format():

print("Total score for {0} is {1}".format(name, score))

বা:

// Recommended, more readable code

print("Total score for {n} is {s}".format(n=name, s=score))

বা:

print("Total score for" + name + " is " + score)

বা:

`print("Total score for %s is %d" % (name, score))`

21

পাইথন ৩.6- f-stringতে অনেক ক্লিনার।

পূর্ববর্তী সংস্করণে:

print("Total score for %s is %s. " % (name, score))

পাইথন ৩.6 এ:

print(f'Total score for {name} is {score}.')

করব.

এটি আরও দক্ষ এবং মার্জিত।


15

এটিকে সহজ করে রাখলে আমি ব্যক্তিগতভাবে স্ট্রিং কনটেনটেশন পছন্দ করি:

print("Total score for " + name + " is " + score)

এটি পাইথন 2.7 এ 3. এক্স উভয়ের সাথে কাজ করে

দ্রষ্টব্য: যদি স্কোরটি কোনও int হয় তবে আপনার এটি স্ট্রিতে রূপান্তর করা উচিত :

print("Total score for " + name + " is " + str(score))

12

ঠিক করার চেষ্টা করুন:

print("Total score for", name, "is", score)

11

শুধু এই অনুসরণ করুন

idiot_type = "the biggest idiot"
year = 22
print("I have been {} for {} years ".format(idiot_type, years))

অথবা

idiot_type = "the biggest idiot"
year = 22
print("I have been %s for %s years."% (idiot_type, year))

এবং অন্য সকলকে ভুলে যান, অন্যথায় মস্তিষ্ক সমস্ত ফর্ম্যাট মানচিত্র করতে সক্ষম হবে না।


6
print("Total score for %s is %s  " % (name, score))

%sদ্বারা %dবা প্রতিস্থাপন করা যেতে পারে%f


6

ব্যবহার f-string:

print(f'Total score for {name} is {score}')

অথবা

ব্যবহার .format:

print("Total score for {} is {}".format(name, score))

5

যদি scoreএকটি সংখ্যা হয়, তাহলে

print("Total score for %s is %d" % (name, score))

যদি স্কোরটি একটি স্ট্রিং হয় তবে

print("Total score for %s is %s" % (name, score))

যদি স্কোর একটি সংখ্যা হয়, তবে এটি %dযদি এটির স্ট্রিং হয় তবে তা %sযদি স্কোরটি ভাসমান হয় তবে তা%f


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.