নিউলাইন বা স্পেস ছাড়া কীভাবে প্রিন্ট করবেন?


1866

আমি এটি করতে চাই । আমি এই উদাহরণে কি করতে চাই:

সি তে:

#include <stdio.h>

int main() {
    int i;
    for (i=0; i<10; i++) printf(".");
    return 0;
}

আউটপুট:

..........

পাইথনে:

>>> for i in range(10): print('.')
.
.
.
.
.
.
.
.
.
.
>>> print('.', '.', '.', '.', '.', '.', '.', '.', '.', '.')
. . . . . . . . . .

পাইথনে printএকটি \nবা স্থান যুক্ত করবে , আমি কীভাবে এড়াতে পারি? এখন এটি একটি উদাহরণ, আমাকে বলবেন না আমি প্রথমে একটি স্ট্রিং তৈরি করতে পারি তারপরে এটি মুদ্রণ করতে পারি। আমি কীভাবে স্ট্রিংগুলিতে "সংযোজন" করব তা জানতে চাই stdout


8
যারা পাইথনের স্ট্রিং ফর্ম্যাটিং ডকুমেন্টেশনগুলি অনুসন্ধান করেন তাদের জন্য: ডকস.পিথন.আর.লিবেরি
স্টাডিটাইপস

1
দেখে মনে হচ্ছে এমন অনুরূপ প্রশ্ন আগে জিজ্ঞাসা করা হয়েছিল: https://stackoverflow.com/q/255147/9325817
বিগ্নেশ বায়ারি আর

উত্তর:


2529

পাইথন 3 এ, আপনি ফাংশনের sep=এবং end=পরামিতিগুলি ব্যবহার করতে পারেন print:

স্ট্রিংয়ের শেষে একটি নতুন লাইন যুক্ত না করা:

print('.', end='')

আপনি মুদ্রণ করতে চান এমন সমস্ত ফাংশন আর্গুমেন্টের মধ্যে একটি স্থান যুক্ত না করার জন্য:

print('a', 'b', 'c', sep='')

আপনি যে কোনও স্ট্রিং দুটি প্যারামিটারে পাস করতে পারেন এবং আপনি একই সাথে উভয় পরামিতি ব্যবহার করতে পারেন।

আপনার যদি বাফারিংয়ে সমস্যা হয় তবে আপনি flush=Trueকীওয়ার্ড যুক্তি যুক্ত করে আউটপুটটি ফ্লাশ করতে পারেন :

print('.', end='', flush=True)

পাইথন 2.6 এবং 2.7

পাইথন ২.6 থেকে আপনি printপাইথন 3 থেকে __future__মডিউলটি ব্যবহার করে ফাংশনটি আমদানি করতে পারেন :

from __future__ import print_function

যা আপনাকে উপরের পাইথন 3 সমাধানটি ব্যবহার করতে দেয়।

তবে লক্ষ করুন যে পাইথন 2 থেকে আমদানি করা ফাংশনের flushসংস্করণে কীওয়ার্ডটি উপলভ্য নয় ; এটি কেবল পাইথন 3 এ কাজ করে, আরও নির্দিষ্টভাবে 3.3 এবং তারপরে। পূর্ববর্তী সংস্করণগুলিতে আপনাকে এখনও একটি কল দিয়ে ম্যানুয়ালি ফ্লাশ করতে হবে । আপনি যে ফাইলটি এই আমদানি করেন সেখানে আপনাকে অন্য সমস্ত মুদ্রণ বিবৃতিও আবার লিখতে হবে।print__future__sys.stdout.flush()

অথবা আপনি ব্যবহার করতে পারেন sys.stdout.write()

import sys
sys.stdout.write('.')

আপনার কল করতেও পারে

sys.stdout.flush()

stdoutতাৎক্ষণিকভাবে নিশ্চিত করা হয়।


2
ধন্যবাদ! পাইথন ৩.6.৩ এ ফ্লাশ = ট্রু অত্যন্ত গুরুত্বপূর্ণ, অন্যথায় এটি যেমন ইচ্ছা তেমন কাজ করে না।
গুনিট

3
কেউ আমাকে ব্যাখ্যা করতে পারে কেন আমার প্রয়োজন হবে flushএবং এটি আসলে কী করে?
isষভ 21

5
কয়েক মাস দেরি হয়ে গেছে, তবে @ রিশভ ফ্লাশের উত্তর দেওয়ার জন্য বাফার খালি হয়ে গেছে এবং এখনই আউটপুট প্রদর্শিত হবে disp ফ্লাশ ছাড়াই আপনার শেষ লেখাটি শেষ পর্যন্ত মুদ্রিত হতে পারে তবে কেবল তখনই যখন সিস্টেমটি আইও এর পরিবর্তে গ্রাফিকগুলি প্রক্রিয়াকরণ করতে পারে। ফ্লাশটি ক্যাশেটিকে "ফ্লাশ করে" অবিলম্বে পাঠ্যটি দৃশ্যমান করে তোলে।
গ্রেট টার্টল

297

এটি গুডো ভ্যান রসমের লিঙ্কটিতে বর্ণিত যতটা সহজ হবে:

পুনরায়: এসি / আর ছাড়া কীভাবে একটি মুদ্রণ করতে পারে?

http://legacy.python.org/search/hypermail/python-1992/0115.html

এটি কি কোনও মুদ্রণ করা সম্ভব তবে স্বয়ংক্রিয়ভাবে এটির সাথে কোনও গাড়ীর ফেরত যুক্ত হবে না?

হ্যাঁ, মুদ্রণের শেষ যুক্তির পরে কমা যুক্ত করুন। উদাহরণস্বরূপ, এই লুপটি ফাঁকা দ্বারা পৃথক করা একটি লাইনে 0..9 সংখ্যা মুদ্রণ করে। চূড়ান্ত নতুন লাইন যুক্ত করে যে প্যারামিটারলেস "মুদ্রণ" নোট করুন:

>>> for i in range(10):
...     print i,
... else:
...     print
...
0 1 2 3 4 5 6 7 8 9
>>> 


86
বিপরীতে, উত্তরটি দুটি কারণে মুছে ফেলা উচিত: এটির অনাকাঙ্ক্ষিত পার্শ্ব প্রতিক্রিয়া রয়েছে যা আপনি অক্ষম করতে পারবেন না (অতিরিক্ত স্থানগুলি অন্তর্ভুক্ত), এবং এটি অজগর 3 এর সাথে সামঞ্জস্যপূর্ণ নয় (প্রথম বন্ধনী একটি টুপলে রূপান্তর করতে বাধ্য করে) । আমি পিএইচপি থেকে পাইথন নয়, এই ধরণের কল্পিত নির্মাণগুলি আশা করি। সুতরাং এটি কখনও না ব্যবহার করা ভাল।
এরিক লেসচিনস্কি

9
//, পাইথন 2 এ এটি করা সহজতম উপায়, যদিও, এবং সত্যই পুরানো ওএসগুলির জন্য প্রচুর ওয়ান-অফ কোড আউট রয়েছে। সম্ভবত সেরা সমাধান নয়, এমনকি প্রস্তাবিতও নয়। তবে স্ট্যাকওভারফ্লো এর দুর্দান্ত সুবিধাগুলির মধ্যে একটি হ'ল এটি আমাদের জানতে দেয় যে সেখানে কী কী অদ্ভুত কৌশল রয়েছে। কেডিপি, আপনি কি শীর্ষে একটি সতর্কতা অন্তর্ভুক্ত করবেন @ এরিক লেসচিনস্কি যা বলেছিলেন? এটি সর্বোপরি অর্থপূর্ণ নয়।
নাথান বাসানিজ

23
@ নাথানবাশানিজ সরল বা না, এর একটি পার্শ্ব প্রতিক্রিয়া রয়েছে যা প্রশ্নকর্তা স্পষ্টভাবে চান না । Downvoted।
শাদুর

8
270 এমন উত্তরের জন্য প্রস্তাব যা বিশেষত প্রশ্নের উত্তর দেয় না। ভাল কাজ upvoting ভাবেন। ভাল কাজ.
সিলিন্ড্রিক

168

দ্রষ্টব্য: এই প্রশ্নের শিরোনামটি "পাইথনে কীভাবে প্রিন্টফ?"

যেহেতু লোকেরা শিরোনামের ভিত্তিতে এটি সন্ধান করতে পারে, পাইথন প্রিন্টফ-স্টাইলের বিকল্পটিকে সমর্থন করে:

>>> strings = [ "one", "two", "three" ]
>>>
>>> for i in xrange(3):
...     print "Item %d: %s" % (i, strings[i])
...
Item 0: one
Item 1: two
Item 2: three

এবং, আপনি স্ট্রিংয়ের মানগুলিকে হাতে গোনা করতে পারেন:

>>> print "." * 10
..........

10
আসলে, এটি বিন্দু অনুপস্থিত। :) যেহেতু প্রশ্নের ইতিমধ্যে একটি দুর্দান্ত উত্তর ছিল আমি কেবল কিছু সম্পর্কিত কৌশলগুলি বিশদ দিয়েছিলাম যা দরকারী প্রমাণিত হতে পারে।
Beau

8
প্রশ্নের শিরোনামের ভিত্তিতে, আমি বিশ্বাস করি যে সি / সি ++ এ কীভাবে একজন সাধারণভাবে প্রিন্টফ ব্যবহার করে
ড্যান

16
এটি প্রশ্নের শিরোনামের উত্তর দেয়, তবে দেহটি নয়। এটি বলেছিল, এটি আমাকে যা খুঁজছিল তা দিয়েছিল। :)
আয়মান

2
এটি প্রশ্নের উত্তর নয়
ভানুয়ান

4
@ ভানুয়ান, আমি আমার উত্তরের নীচে ব্যাখ্যা করেছিলাম যে এক পর্যায়ে প্রশ্নের শিরোনাম পরিবর্তিত হয়েছে। :)
Beau

93

পাইথন 2.6 + এর জন্য পাইথন 3-স্টাইলের মুদ্রণ ফাংশনটি ব্যবহার করুন (একই ফাইলের কোনও বিদ্যমান কীওয়ার্ডযুক্ত মুদ্রণ বিবৃতিও ভেঙে দেবে))

# for python2 to use the print() function, removing the print keyword
from __future__ import print_function
for x in xrange(10):
    print('.', end='')

আপনার সমস্ত পাইথন 2 মুদ্রণ কীওয়ার্ড নষ্ট না করার জন্য একটি পৃথক তৈরি করুন printf.py ফাইল করুন

# printf.py

from __future__ import print_function

def printf(str, *args):
    print(str % args, end='')

তারপরে, এটি আপনার ফাইলে ব্যবহার করুন

from printf import printf
for x in xrange(10):
    printf('.')
print 'done'
#..........done

প্রিন্টফ স্টাইল দেখায় আরও উদাহরণ

printf('hello %s', 'world')
printf('%i %f', 10, 3.14)
#hello world10 3.140000

39

একই লাইনে কীভাবে প্রিন্ট করা যায়:

import sys
for i in xrange(0,10):
   sys.stdout.write(".")
   sys.stdout.flush()

27

নতুন (পাইথন 3.x হিসাবে) printফাংশনে একটি alচ্ছিক endপ্যারামিটার রয়েছে যা আপনাকে শেষের অক্ষরটি সংশোধন করতে দেয়:

print("HELLO", end="")
print("HELLO")

আউটপুট:

হ্যালো হ্যালো

sepবিভাজকের জন্যও রয়েছে :

print("HELLO", "HELLO", "HELLO", sep="")

আউটপুট:

HELLOHELLOHELLO

আপনি যদি পাইথন ২.x এ এটি ব্যবহার করতে চান তবে আপনার ফাইলের শুরুতে এটি যুক্ত করুন:

from __future__ import print_function


1
"সেপ" কি করে?
ম্যাকপ্পার

1
@ এমসিপ্প্পার আমি জানি যে এটি পুরানো তবে আমি আরও স্বচ্ছতার জন্য উত্তরটি সম্পাদনা করেছি। এখন দেখ.
TheTechRobo36414519

সম্পাদনার জন্য ধন্যবাদ। সেপ কাজে আসবে। এখনও অবধি আমি সেপ.জোঁইন (তালিকা) ব্যবহার করেছি একটি তালিকার উপাদানগুলির মধ্যে একটি বিভাজকের সাথে সংমিশ্রণ করতে
সিএসভি

21

প্রিন্টফ নামে একটি নতুন ফাংশন তৈরি করতে ফান্টাকুলস.পার্পিয়াল ব্যবহার করা

>>> import functools

>>> printf = functools.partial(print, end="")

>>> printf("Hello world\n")
Hello world

ডিফল্ট পরামিতিগুলির সাথে কোনও ফাংশন মোড়ানো করার সহজ উপায়।


16

আপনি কেবলমাত্র ফাংশন ,শেষে যুক্ত করতে পারেন printযাতে এটি নতুন লাইনে মুদ্রণ না করে।


1
//, এটি আসলে এটিকে কিছুই ছাপিয়েছে। আমাদের কি তখন স্ট্যাকওভারফ্লো . com/a/493500/2146138-তে দেখানো হয়েছে, শেষে আর্গুমেন্ট ছাড়া অন্য মুদ্রণ বিবৃতি যুক্ত করার দরকার নেই ? আপনি কি এই উত্তরটি দুটি বা তিন লাইনের উদাহরণে সংক্ষেপে সম্পাদনা করতে চান?
নাথান বাসানিজ

3
ওপি একটি স্থান সংযুক্ত করা চায় না
পিপিপি

2
প্রশ্নের উত্তর দেয়নি। কোন স্পেস.
shrewmouse

এটি আর পাইথন ২.x এ কাজ করে না এবং কেবল ওপি যা চেয়েছিল তার অর্ধেক উত্তর দেয়। কেন 16 টি upvotes?
TheTechRobo36414519

12

পাইথন 3+ printএ একটি ফাংশন। আপনি কল যখন

print('hello world')

পাইথন এটি অনুবাদ করে

print('hello world', end='\n')

আপনি endযা চান পরিবর্তন করতে পারেন।

print('hello world', end='')
print('hello world', end=' ')

8

অজগর 2.6+ :

from __future__ import print_function # needs to be first statement in file
print('.', end='')

অজগর 3 :

print('.', end='')

অজগর <= 2.5 :

import sys
sys.stdout.write('.')

অজগর 2 এ প্রতিটি মুদ্রণের পরে যদি অতিরিক্ত স্থান ঠিক থাকে

print '.',

অজগর 2 এ বিভ্রান্তিকর - এড়ানো :

print('.'), # avoid this if you want to remain sane
# this makes it look like print is a function but it is not
# this is the `,` creating a tuple and the parentheses enclose an expression
# to see the problem, try:
print('.', 'x'), # this will print `('.', 'x') `

8

আপনি চেষ্টা করতে পারেন:

import sys
import time
# Keeps the initial message in buffer.
sys.stdout.write("\rfoobar bar black sheep")
sys.stdout.flush()
# Wait 2 seconds
time.sleep(2)
# Replace the message with a new one.
sys.stdout.write("\r"+'hahahahaaa             ')
sys.stdout.flush()
# Finalize the new message by printing a return carriage.
sys.stdout.write('\n')

5

আপনি পাইথন 3 তে নিম্নলিখিত হিসাবে একই কাজ করতে পারেন:

#!usr/bin/python

i = 0
while i<10 :
    print('.',end='')
    i = i+1

এবং সঙ্গে এটি চালানো python filename.pyবাpython3 filename.py


5

আমি সম্প্রতি একই সমস্যা ছিল ..

আমি এটি করে সমাধান করেছি:

import sys, os

# reopen stdout with "newline=None".
# in this mode,
# input:  accepts any newline character, outputs as '\n'
# output: '\n' converts to os.linesep

sys.stdout = os.fdopen(sys.stdout.fileno(), "w", newline=None)

for i in range(1,10):
        print(i)

এটি ইউনিক্স এবং উইন্ডো উভয় ক্ষেত্রেই কাজ করে ... এটি ম্যাকোক্সে পরীক্ষিত হয়নি ...

HTH


2
বিরতিsys.__stdout__
pppery

4

@ লেনোহ আমার জিজ্ঞাসা সন্তুষ্ট 'পাইথন দমন নিউলাইন' অনুসন্ধান করার সময় আমি এই নিবন্ধটি আবিষ্কার করেছি। আমি পিএসটিটির জন্য পাইথন ৩.২ বিকাশের জন্য রাস্পবেরি পাইতে আইডিএল 3 ব্যবহার করছি। আমি পিটিটিওয়াই কমান্ড লাইনে একটি অগ্রগতি বার তৈরি করতে চেয়েছিলাম। আমি পৃষ্ঠাটি স্ক্রোলিং দূরে চাইনি। আমি একটি অনুভূমিক রেখা চেয়েছিলাম যাতে প্রোগ্রামটি বন্ধ হয়ে যায়নি বা আনন্দিত অসীম লুপের মধ্যাহ্নভোজনে প্রেরণ করা হয়নি - "আমাকে ছেড়ে দিন, আমি ঠিক করছি," তবে এতে কিছুটা সময় লাগতে পারে '' ইন্টারেক্টিভ বার্তা - পাঠ্যের অগ্রগতি বারের মতো।

print('Skimming for', search_string, '\b! .001', end='')পরবর্তী পর্দায়-রাইট, যা ⌫⌫⌫ rubout তিন backspaces প্রিন্ট হবে এবং তারপর একটি নির্দিষ্ট সময়ের জন্য প্রস্তুতি, বন্ধ সম্মার্জনী '২001' এবং সময়সীমার লাইন ব্যাপ্ত দ্বারা বার্তা সূচনা। search_stringতোতা ব্যবহারকারীর ইনপুট পরে \b!, আমার search_stringপাঠ্যের বিস্ময় বিন্দু ট্রিমস করে স্থানটির পিছনে ফিরে যা print()অন্যথায় বাধ্যতামূলকভাবে, বিরামচিহ্নগুলি যথাযথভাবে স্থাপন করে। এটির পরে একটি স্থান এবং 'প্রগতি বার'-এর প্রথম' ডট 'যা আমি অনুকরণ করছি by অপ্রয়োজনীয়ভাবে, বার্তাটি পৃষ্ঠার নম্বরটিও দিয়েছিল (অগ্রণী শূন্যগুলি সহ তিনটি দৈর্ঘ্যে ফর্ম্যাট করা হয়) ব্যবহারকারীর কাছ থেকে অগ্রগতিটি প্রক্রিয়াধীন হওয়ার বিজ্ঞপ্তি নিতে এবং যা পরবর্তীকালে আমরা কীভাবে তৈরি করব সেই সময়ের গণনাও প্রতিফলিত করবে ঠিক আছে।

import sys

page=1
search_string=input('Search for?',)
print('Skimming for', search_string, '\b! .001', end='')
sys.stdout.flush() # the print function with an end='' won't print unless forced
while page:
    # some stuff…
    # search, scrub, and build bulk output list[], count items,
    # set done flag True
    page=page+1 #done flag set in 'some_stuff'
    sys.stdout.write('\b\b\b.'+format(page, '03')) #<-- here's the progress bar meat
    sys.stdout.flush()
    if done: #( flag alternative to break, exit or quit)
        print('\nSorting', item_count, 'items')
        page=0 # exits the 'while page' loop
list.sort()
for item_count in range(0, items)
    print(list[item_count])
#print footers here
 if not (len(list)==items):
    print('#error_handler')

অগ্রগতি বার মাংস sys.stdout.write('\b\b\b.'+format(page, '03'))লাইনে আছে। প্রথমে, বামদিকে মুছতে, এটি তিনটি সংখ্যার অক্ষরের উপরে কার্সারটিকে 'out b \ b with b' হিসাবে ⌫⌫⌫ রুবআউট হিসাবে ব্যাক আপ করে এবং অগ্রগতির বারের দৈর্ঘ্যে যোগ করার জন্য একটি নতুন সময়কে ড্রপ করে। তারপরে এটি পৃষ্ঠার তিনটি সংখ্যা লিখেছে যা এখনও অবধি এগিয়েছে। sys.stdout.write()একটি পূর্ণ বাফার বা আউটপুট চ্যানেলটি বন্ধ হওয়ার জন্য অপেক্ষা করার কারণে sys.stdout.flush()তাৎক্ষণিক লেখার জন্য বাধ্য করে। বাইপাস করা হয় যা sys.stdout.flush()শেষে নির্মিত হয় । তারপরে কোডটি তার জাগতিক সময়ের নিবিড় ক্রিয়াকলাপগুলির মধ্য দিয়ে যায় যখন এটি তিনটি অঙ্ক মুছতে, একটি সময়সীমা যোগ করতে এবং আবার তিনটি সংখ্যা লিখতে, বর্ধিত হওয়া অবধি এখানে আর কিছু না প্রিন্ট করে।print()print(txt, end='' )

মুছে ফেলা এবং পুনর্লিখিত তিনটি অঙ্কের কোনও প্রয়োজন নেই - এটি কেবল একটি বিকাশ যা উদাহরণস্বরূপ sys.stdout.write()বনাম print()। আপনি একটি পিরিয়ডের সাথে সহজেই প্রাইম হয়ে যেতে পারেন এবং তিনটি অভিনব ব্যাকস্ল্যাশ-বি-ব্যাকস্পেসগুলি (অবশ্যই ফর্ম্যাট পৃষ্ঠাগুলিও না লিখে) ভুলে যেতে পারেন, কেবল পিরিয়ড বারটি আরও একবার প্রিন্ট করে - ফাঁকা স্থান বা নিউলাইন ছাড়াই কেবলমাত্রsys.stdout.write('.'); sys.stdout.flush() জোড়া।

দয়া করে মনে রাখবেন যে রাস্পবেরি পাই IDLE3 পাইথন শেল ব্যাকস্পেসটিকে ⌫ রুবআউট হিসাবে সম্মান করে না বরং পরিবর্তে একটি ভগ্নাংশের একটি আপাত তালিকা তৈরি করে একটি স্থান মুদ্রণ করে।

- (ও = 8) উইজ


4

আপনি লক্ষ্য করবেন যে উপরের সমস্ত উত্তর সঠিক। তবে আমি সর্বদা "end = ''" পরামিতিটি শেষে লিখতে একটি শর্টকাট তৈরি করতে চেয়েছিলাম।

আপনি যেমন একটি ফাংশন সংজ্ঞায়িত করতে পারে

def Print(*args,sep='',end='',file=None,flush=False):
    print(*args,sep=sep,end=end,file=file,flush=flush)

এটি পরামিতিগুলির সমস্ত সংখ্যা গ্রহণ করবে। এমনকি এটি ফাইল, ফ্লাশ ইত্যাদি এবং একই নামের সাথে অন্য সমস্ত পরামিতি গ্রহণ করবে।


এটি চালায় না, অভিযোগ রয়েছে যে *argএটি শুরুতে রয়েছে (অজগর ২.)), এবং এটি শেষে রেখে দৌড়ায়, তবে পুরোপুরি সঠিকভাবে কাজ করে না। আমি এমন একটি ফাংশন সংজ্ঞায়িত করেছি যা কেবল গ্রহণ করেছিল Print(*args), এবং তারপরে কেবল প্রিন্ট সহ ডাকা হয় sep='', end=''। এবং এখন এটি আমার ইচ্ছা মতো কাজ করে। সুতরাং ধারণাটির জন্য একটি আপভোট।
ওটজেন

4

এগুলির অনেক উত্তর কিছুটা জটিল বলে মনে হচ্ছে। পাইথন ৩.x এ আপনি কেবল এটি করুন:

print(<expr>, <expr>, ..., <expr>, end=" ")

শেষের ডিফল্ট মান "\n"। আমরা এটিকে কেবল একটি স্পেসে পরিবর্তন করছি অথবা আপনি সাধারণত যা করেন end=""তা করতে আপনি (কোনও স্থান নেই) ব্যবহার করতে পারেন printf


3

আপনি লুপ ডান জন্য কিছু মুদ্রণ করতে চান; কিন্তু আপনি এটি প্রতিবার নতুন লাইনে মুদ্রণ করতে চান না .. উদাহরণস্বরূপ:

 for i in range (0,5):
   print "hi"

 OUTPUT:
    hi
    hi
    hi
    hi
    hi

তবে আপনি এটি এটি মুদ্রণ করতে চান: হাই হাই হি হি হি হি ঠিক ???? "হাই" মুদ্রণের পরে কেবল একটি কমা যুক্ত করুন

উদাহরণ:

for i in range (0,5): print "hi", OUTPUT: hi hi hi hi hi


5
না, ওপি হিহিহিহিহি চায়, হি হি হি হি হি নাই
শীতল জ্যাভালিন

1

বা এর মতো কোনও ফাংশন রয়েছে:

def Print(s):
   return sys.stdout.write(str(s))

তারপর এখন:

for i in range(10): # or `xrange` for python 2 version
   Print(i)

আউটপুট:

0123456789

0
for i in xrange(0,10): print '\b.',

এটি 2.7.8 এবং 2.5.2 উভয় ক্ষেত্রে (যথাক্রমে ক্যানোপি এবং ওএসএক্স টার্মিনাল) কাজ করেছে - কোনও মডিউল আমদানি বা সময় ভ্রমণের প্রয়োজন নেই।


8
এটি স্ট্যান্ডার্ড আউটপুটে ব্যাকস্পেস অক্ষর মুদ্রণ করে। এটা হতে পারে চেহারা সঠিক যদি মান আউটপুট টার্মিনাল হতে হবে, কিন্তু যদি এটি একটি ফাইল থেকে আপনাকে পুনঃনির্দেশিত যে ফাইল নিয়ন্ত্রণ অক্ষর থাকতে হবে।
কিথ থম্পসন

1
সত্য, তবে আমি কল্পনাও করতে পারি না যে কেউ স্বল্প প্রযুক্তির অগ্রগতি বার ব্যতীত অন্য যে কোনও কিছুর জন্য এটি ব্যবহার করতে চাইবে ...
শ্রেনী

1
তবুও, পাইথন কোড প্রশ্নের সি কোডের মতো কাজ করে না।
কিথ থমসন

আপনি sys.stdout.isatty()যদি কোনও ফাইলে পুনঃনির্দেশ না দিয়ে পরীক্ষা করে দেখতে পারেন।
এফএমসি

0

এটি করার জন্য দুটি সাধারণ উপায় রয়েছে:

পাইথন ৩.x এ নতুন লাইন ছাড়াই মুদ্রণ করুন

মুদ্রণ বিবৃতিটির পরে কিছুই সংযোজন করবেন না এবং '' n ' end='' এটিকে ব্যবহার করে সরান :

>>> print('hello')
hello  # appending '\n' automatically
>>> print('world')
world # with previous '\n' world comes down

# solution is:
>>> print('hello', end='');print(' world'); # end with anything like end='-' or end=" " but not '\n'
hello world # it seem correct output

লুপের আরও একটি উদাহরণ :

for i in range(1,10):
    print(i, end='.')

পাইথন ২.x এ নিউলাইন ছাড়াই মুদ্রণ করুন

একটি পিছনে কমা যুক্ত করা মুদ্রণ উপেক্ষা করার পরে বলে \n

>>> print "hello",; print" world"
hello world

লুপের আরও একটি উদাহরণ :

for i in range(1,10):
    print "{} .".format(i),

আশা করি এটা তোমাকে সাহায্য করবে। আপনি এই লিঙ্কটি দেখতে পারেন ।


স্থান সম্পর্কে কি?
shrewmouse

end=" "উদাহরণস্বরূপ ব্যবহার করুন : মুদ্রণ ('হ্যালো', শেষ = '' "); মুদ্রণ ('বিশ্ব')
susan097

আপনার 2.7 সমাধান স্থানটি সরিয়ে দেয় না।
shrewmouse

আমি উল্লেখ করেছি যে 'not n' সরান স্থান নয়, স্থানটি পাইথন 2 এ ডিফল্টরূপে রয়েছে। তা দেখুন এই দেখায়: print 'hello' ;print'there'মধ্যে paiza.io/projects/e/35So9iUPfMdIORGzJTb2NQ
susan097

ঠিক আছে, এ কারণেই আপনার উত্তরটি নিচে ভোট হয়েছে। "নিউলাইন বা স্পেস ছাড়া কীভাবে প্রিন্ট করবেন?" এই প্রশ্নের উত্তর আপনি দেননি। ২.x এর জন্য আপনার উত্তর প্রশ্নের উত্তর দেয় না। আপনি 3.0 এর উত্তরটি নয় বছর আগে পোস্ট করা অন্যান্য উত্তরগুলির মতোই। সরলভাবে বলা হয়েছে, এই উত্তরটি সম্প্রদায়ের পক্ষে কার্যকর কোনও কিছুই যোগ করে না এবং আপনার এটি মুছে ফেলা উচিত।
শ্রুউমাউস

-3

... আপনার কোনও লাইব্রেরি আমদানি করার দরকার নেই। মুছুন অক্ষরটি কেবল ব্যবহার করুন:

BS=u'\0008' # the unicode for "delete" character
for i in range(10):print(BS+"."),

এটি নিউলাইন এবং স্পেস (^ _ ^) * সরিয়ে দেয়

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