পাইথনে আমি কীভাবে একই লাইনে পরিবর্তনশীল এবং স্ট্রিং মুদ্রণ করতে পারি?


176

অজগরটি ব্যবহার করে আমি ব্যবহার করছি যে প্রতি seconds সেকেন্ডে একটি শিশু জন্ম নিলে ৫ বছরে কত শিশু জন্মগ্রহণ করবে। সমস্যাটি আমার শেষ লাইনে। আমি যখন লেখার উভয় পাশে মুদ্রণ করি তখন কীভাবে আমি চলতে পারি তার জন্য একটি পরিবর্তনশীল কাজ করব?

আমার কোডটি এখানে:

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-এ সাবধান থাকুন (সাধারণ জ্ঞান, আমি জানি: ডি)। পাইথন 3 এ মুদ্রণ একটি ফাংশন হয়ে উঠেছে, এখন বন্ধনীর সাহায্যে এটি ব্যবহার করা দরকার: print(something)(এছাড়াও
পাইথন

উত্তর:


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 নেই 3. অনুগ্রহ করে গগন অগ্রওয়ালের উত্তরটিকে সমর্থন করুন।
এক্সেল ব্রেগনসবো

58

আরও দুটি

প্রথমটি

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

স্ট্রিং যুক্ত করার সময়, তারা সম্মতি দেয়।

দ্বিতীয়টি

এছাড়াও format(পাইথন ২. Py এবং আরও নতুন) স্ট্রিংয়ের পদ্ধতি সম্ভবত আদর্শ উপায়:

>>> 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 হ'ল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং। এম 5 এর জন্য কীওয়ার্ডটি স্ট্রিং আক্ষরিক বিন্যাস করা হয় । প্রয়োজনে এম 1 এবং এম 4 এর মতো স্ট্রিং অপারেশনগুলি ব্যবহার করা উচিত, যা এখানে ক্ষেত্রে নয় (অভিধান এবং টিপলসগুলির জন্য এম 1; এম 4 যেমন
এসকি


16

পাইথন ৩.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
জটিল স্ট্রিংয়ের জন্য আমার প্রিয়।
জেসন LeMonier

14

আপনি হয় এফ স্ট্রিং বা। ফর্ম্যাট () পদ্ধতি ব্যবহার করতে পারেন

এফ স্ট্রিং ব্যবহার করে

print(f'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: {births} births".format(births=births))

12

আপনি হয় একটি ফরম্যাটসট্রিং ব্যবহার করতে পারেন:

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

বা এই সাধারণ ক্ষেত্রে:

print "There are ", births, "births"

2
দ্বিতীয় উপায়টি ব্যবহার করার ক্ষেত্রে সতর্কতা অবলম্বন করুন যদিও এটি একটি টিপল, স্ট্রিং নয়।
তেহট্রিস

5

আপনি যদি পাইথন ৩.6 বা সর্বশেষ ব্যবহার করেন তবে এফ স্ট্রিংটি সবচেয়ে ভাল এবং সহজ

print(f"{your_varaible_name}")

3

আপনি প্রথমে একটি পরিবর্তনশীল তৈরি করতে পারেন: উদাহরণস্বরূপ: D = 1. তারপরে এটি করুন তবে স্ট্রিংটি যা খুশি তা প্রতিস্থাপন করুন:

D = 1
print("Here is a number!:",D)

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"

উত্তর আম্বরের জন্য আপনাকে ধন্যবাদ। % চিহ্নের পরে 'ডি' কী করবে তা আপনি ব্যাখ্যা করতে পারেন? ধন্যবাদ
বব ইউনি

2
%dঅর্থ "পূর্ণসংখ্যা হিসাবে বিন্যাসের মান"। একইভাবে, %s"স্ট্রিং হিসাবে ফর্ম্যাট মান", এবং %f"ভাসমান পয়েন্ট সংখ্যা হিসাবে ফর্ম্যাট মান" হবে। এই এবং আরও অনেকগুলি আমার উত্তরে আমি লিঙ্কিত পাইথন ম্যানুয়ালটির অংশে নথিভুক্ত করেছি।
অ্যাম্বার

1

আমি আপনার স্ক্রিপ্টটি একটি .py ফাইলে অনুলিপি করে আটকালাম। আমি এটি পাইথন ২.7.১০ এর মতোই চালিয়েছি এবং একই বাক্য গঠন ত্রুটি পেয়েছি। আমি পাইথন 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"

আউটপুটটি ছিল (পাইথন ২.7.১০):

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