উত্তর:
আপনার ফলাফল অর্জনের বিভিন্ন উপায় রয়েছে। আপনি যদি কেবল আপনার ক্ষেত্রে সমাধান চান তবে @ অ্যান্ট উল্লেখ হিসাবে স্ট্রিং গুণটি ব্যবহার করুন । এটি কেবল তখনই কাজ করবে যদি আপনার প্রতিটি বিবৃতি একই স্ট্রিং প্রিন্ট করে। নোট করুন যে এটি যে কোনও দৈর্ঘ্যের স্ট্রিং (যেমন কাজ করে) এর গুণনের জন্য কাজ করে।print
'foo' * 20
>>> print 'a' * 20
aaaaaaaaaaaaaaaaaaaa
আপনি যদি এটি সাধারণভাবে করতে চান তবে একটি স্ট্রিং তৈরি করুন এবং তারপরে এটি একবার মুদ্রণ করুন। এটি স্ট্রিংয়ের জন্য কিছুটা মেমোরি গ্রাস করবে, তবে কেবল এতে একক কল করবে print
। নোট করুন যে স্ট্রিং কনটেনটেশন ব্যবহার +=
করে স্ট্রিংয়ের আকার এখন রৈখিক হিসাবে আপনি সংক্ষিপ্ত করছেন তাই এটি দ্রুত হবে।
>>> for i in xrange(20):
... s += 'a'
...
>>> print s
aaaaaaaaaaaaaaaaaaaa
অথবা আপনি sys.stdout ব্যবহার করে এটি আরও সরাসরি করতে পারেন । () লিখুন , যা print
চারপাশে মোড়ক। এটি কোনও বিন্যাস ছাড়াই আপনার দেওয়া কাঁচা স্ট্রিংটিই লিখবে। মনে রাখবেন যে 20 a
সেকেন্ডের শেষেও কোনও নতুন লাইন মুদ্রিত হয়নি ।
>>> import sys
>>> for i in xrange(20):
... sys.stdout.write('a')
...
aaaaaaaaaaaaaaaaaaaa>>>
পাইথন 3 print
স্টেটমেন্টটি মুদ্রণ () ফাংশনে পরিবর্তিত করে , যা আপনাকে end
প্যারামিটার সেট করতে দেয় । আপনি এটিকে আমদানি করে> = 2.6 এ ব্যবহার করতে পারেন __future__
। আমি যদিও এটি কোনও গুরুতর 2.x কোড এ এড়াতে চাই, কারণ যারা কখনও 3.x ব্যবহার করেন নি তাদের জন্য এটি কিছুটা বিভ্রান্তিকর হবে। তবে এটি আপনাকে 3..x আনার কিছু ধরণের ধরণের স্বাদ দেবে give
>>> from __future__ import print_function
>>> for i in xrange(20):
... print('a', end='')
...
aaaaaaaaaaaaaaaaaaaa>>>
"".join(...)
পরিবর্তে ব্যবহার করুন।
+=
পাইথনে ব্যবহার করে স্ট্রিং কনটেনটেশন একটি একক চরিত্রের সংমিশ্রনের জন্য একটি ধ্রুবক সময় কাজ।
পিইপি 3105 থেকে : পাইথন ২.6 নথিতে নতুন কী রয়েছে তা একটি ফাংশন হিসাবে মুদ্রণ করুন :
>>> from __future__ import print_function
>>> print('a', end='')
স্পষ্টতই যে অজগর 3.0 বা উচ্চতর (বা from __future__ import print_function
শুরুতে 2.6+ ) দিয়ে কাজ করে। print
বিবৃতি মুছে ফেলেছি এবং হয়ে ওঠে print()
পাইথন 3.0 ডিফল্টরূপে ফাংশন।
আপনি print
স্টেটমেন্টের মাঝে স্টাডআউটে একটি ফাঁকা স্ট্রিং মুদ্রণ করে স্থানটি দমন করতে পারেন ।
>>> import sys
>>> for i in range(20):
... print 'a',
... sys.stdout.write('')
...
aaaaaaaaaaaaaaaaaaaa
যাইহোক, একটি ক্লিনার সমাধান হ'ল প্রথমে আপনি মুদ্রণ করতে চান এমন পুরো স্ট্রিংটি তৈরি করা এবং তারপরে এটি একটি একক print
বিবৃতি দিয়ে আউটপুট দেয় ।
sys.stdout.write()
করা আরও সুবিধাজনক। তবে, আমি এটি দেখাতে চেয়েছিলাম যে স্টাডাউটকে একটি খালি স্ট্রিং লেখা ব্যবহার করে লিখিত উপাদানগুলির মধ্যে স্থানকে দমন করে print
, যা একই পরিস্থিতিতে কার্যকর হতে পারে।
আপনি একটি ব্যাকস্পেস অক্ষর ( '\b'
) মুদ্রণ করতে পারেন :
for i in xrange(20):
print '\ba',
ফলাফল:
aaaaaaaaaaaaaaaaaaaa
আপনি যদি একবারে এটির একটি দেখাতে চান তবে আপনি এটি করতে পারেন:
import time
import sys
for i in range(20):
sys.stdout.write('a')
sys.stdout.flush()
time.sleep(0.5)
sys.stdout.flush()
প্রতিবার লুপটি চালানোর সময় অক্ষরটি লিখতে বাধ্য করা প্রয়োজন।
পার্শ্ব নোট হিসাবে:
মুদ্রণটি হ'ল (1) তবে একটি স্ট্রিং তৈরি করছে এবং তারপরে মুদ্রণটি হ'ল (এন), যেখানে স্ট্রিংয়ের মোট অক্ষরের সংখ্যা এন। সুতরাং হ্যাঁ, স্ট্রিংটি "ক্লিনার" তৈরি করার সময় এটি করা সবচেয়ে দক্ষ পদ্ধতি নয়।
আমি যেভাবে এটি করব তা নিম্নরূপ:
from sys import stdout
printf = stdout.write
এখন আপনার কাছে একটি "মুদ্রণ ফাংশন" রয়েছে যা প্রতিবার নতুন লাইনের চরিত্রটি না ফেরিয়ে আপনি যে কোনও স্ট্রিং প্রিন্ট করেন তা মুদ্রণ করে।
printf("Hello,")
printf("World!")
আউটপুটটি হবে: হ্যালো, ওয়ার্ল্ড!
তবে, আপনি যদি পূর্ণসংখ্যার, ভাসমান বা অন্যান্য স্ট্রিং মানগুলি মুদ্রণ করতে চান তবে আপনাকে সেগুলি স্ট্র () ফাংশন সহ একটি স্ট্রিংয়ে রূপান্তর করতে হবে।
printf(str(2) + " " + str(4))
আউটপুট হবে: 2 4
কি দারুন!!!
এটা বেশ দীর্ঘ সময় আগে
এখন, অজগর 3.x এ এটি খুব সহজ হবে
কোড:
for i in range(20):
print('a',end='') # here end variable will clarify what you want in
# end of the code
আউটপুট:
aaaaaaaaaaaaaaaaaaaa
মুদ্রণ () ফাংশন সম্পর্কে আরও
print(value1,value2,value3,sep='-',end='\n',file=sys.stdout,flush=False)
এখানে :
value1,value2,value3
আপনি কমা ব্যবহার করে একাধিক মান মুদ্রণ করতে পারেন
sep = '-'
3 - মানগুলি '-' অক্ষর দ্বারা পৃথক করা হবে
আপনি সেপ = '@' বা সেপ = 'ভাল' এর মতো স্ট্রিংয়ের পরিবর্তে যে কোনও অক্ষর ব্যবহার করতে পারেন
end='\n'
ডিফল্ট মুদ্রণ ফাংশন দ্বারা আউটপুট শেষে '\ n' অক্ষর রাখুন
তবে আপনি শেষ বর্ণের মান পরিবর্তন করে যে কোনও অক্ষর বা স্ট্রিং ব্যবহার করতে পারেন
যেমন শেষ = '$' বা শেষ = '। বা শেষ = 'হ্যালো'
file=sys.stdout
এটি একটি ডিফল্ট মান, সিস্টেম স্ট্যান্ডার্ড আউটপুট
এই যুক্তি ব্যবহার করে আপনি একটি আউটপুট ফাইল স্ট্রিম তৈরি করতে পারেন
print("I am a Programmer", file=open("output.txt", "w"))
এই কোড দ্বারা আপনাকে নামের একটি ফাইল তৈরি করবে output.txt যেখানে আপনার আউটপুট আমি একজন প্রোগ্রামার সংরক্ষণ করা হবে
flush = False
ফ্লাশ = ব্যবহার করে এটি একটি ডিফল্ট মান True সত্য আপনি জোর করে স্ট্রিমটি ফ্লাশ করতে পারেন
"".join("a" for i in xrange(20))
। (এটি"a" * 20
করানোর চেয়ে অনেক বেশি নমনীয় , যেমন আমি অনুমান করি এটি একটি সরল উদাহরণ)।