Hướng dẫn in ngang trong python
Bài viết được sự cho phép của tác giả Phạm Văn Nguyên Show Python là một trong những ngôn ngữ lập trình dễ học nhất. Một trong những chương trình đầu tiên bạn viết khi bạn bắt đầu học bất kỳ ngôn ngữ lập trình mới nào là chương trình hello world . Một chương trình hello world trong python trông như thế này # hello world in python print("Hello World!") Thật dễ dàng! Chỉ cần một dòng và tada bạn có chương trình hello world của bạn. Trong Python 3, print () là một hàm in ra những thứ trên màn hình (print là một câu lệnh trong Python 2) . Như bạn có thể thấy, nó là một chức năng rất đơn giản. Tuy nhiên, có một điều thực sự khó chịu về chức năng này. Nó tự động in một dòng mới ‘\ n’ ở cuối dòng! Hãy xem ví dụ này print("Hello World!") print("My name is Nguyenpv") # output:# Hello World! # My name is Nguyenpv Như bạn có thể nhận thấy, hai chuỗi không được in lần lượt từng chuỗi trên cùng một dòng mà thay vào đó là các dòng riêng biệt. Mặc dù đây có thể là những gì bạn thực sự muốn, nhưng không phải lúc nào cũng như vậy. nếu bạn đến từ một ngôn ngữ khác, bạn có thể thoải mái hơn khi đề cập rõ ràng liệu một dòng mới có nên được in ra hay không. Ví dụ: trong Java, bạn phải thể hiện rõ ràng mong muốn in một dòng mới bằng cách sử dụng chức năng println hoặc nhập ký tự dòng mới (\ n) bên trong chức năng in của bạn: // option 1 System.out.println("Hello World!") // option 2 System.out.print("Hello World!\n") Vậy chúng ta nên làm gì nếu chúng ta không muốn có các ký tự dòng mới trong python? Và đây là giải pháp! Giải phápIn không có dòng mới trong Python 3Python 3 cung cấp giải pháp đơn giản nhất, tất cả những gì bạn phải làm là cung cấp thêm một đối số cho hàm print. # use the named argument "end" to explicitly specify the end of line string print("Hello World!", end = '') print("My name is Nguyenpv") # output: # Hello World!My name is Nguyenpv Bạn có thể sử dụng đối số end để đề cập rõ ràng chuỗi cần được nối ở cuối dòng. Bất cứ điều gì bạn cần làm là thêm đối số end sẽ là chuỗi kết thúc. Vì vậy, nếu bạn cung cấp một chuỗi trống, thì sẽ không có ký tự dòng mới và không có khoảng trắng nào sẽ được thêm vào đầu vào của bạn. In không có dòng mới trong Python 2Trong python 2, cách dễ nhất để tránh dòng mới kết thúc là sử dụng dấu phẩy ở cuối câu lệnh in của bạn # no newlines but a space will be printed out print "Hello World!", print "My name is Nguyenpv" # output # Hello World! My name is Nguyenpv Như bạn có thể thấy, mặc dù không có dòng mới, chúng tôi vẫn có một ký tự khoảng trắng giữa hai câu lệnh in. Nếu bạn thực sự cần một không gian, thì đây là cách đơn giản nhất và đơn giản nhất để đi. Nhưng nếu bạn muốn in mà không có dấu cách hoặc dòng mới thì sao? Trong trường hợp này, bạn có thể sử dụng hàm sys.stdout.write từ module sys . Hàm này sẽ chỉ in bất cứ thứ gì bạn nói rõ ràng để in. Không có chuỗi kết thúc. Không có phép thuật! Hãy lấy một ví dụ import sys sys.stdout.write("Hello World!") sys.stdout.write("My name is Nguyenpv") # output # Hello World!My name is Nguyenpv Haiz, đoạn này thấy nhì nhằng, phức tạp hơn ngôn ngữ lập trình khác rồi đấy, ví dụ PHP, ở PHP thì chỉ cẩn dùng 1 hàm ví dụ “echo“, rồi muốn in như nào thì in : )) Phần kết luận Trong Python 3, bạn có thể sử dụng đối số end được đặt tên trong hàm in và gán một chuỗi trống cho đối số này để ngăn chặn dòng mới kết thúc. Trong Python 2, bạn có thể sử dụng dấu phẩy sau tuyên bố in của bạn nếu bạn không nhớ không gian, hoặc bạn chỉ có thể sử dụng hàm sys.stdout.write() Chúc các bạn học tốt. Bài viết gốc được đăng tải tại nguyenpv.com Có thể bạn quan tâm:
Xem thêm các vị trí tuyển dụng python hấp dẫn tại TopDev Hãy nhớ lại đoạn mã của chương trình mà chúng ta viết ở bài học trước: print("Hello World!")Làm thế nào để khi chạy dòng lệnh trên máy tính (hay cụ thể là Python Interperter) có thể hiểu được phải hiển thị ra dòng chữ Hello World!? Ngôn ngữ Python (hoặc bất cứ ngôn ngữ lập trình nào khác) đưa ra các quy tắc viết mã lệnh mà lập trình viên cần phải tuân theo. Và khi thực thi chương trình Python Interperter cũng sẽ dựa trên các quy tắc viết để biên dịch ra mã máy (chỉ gồm số 0 và 1) giúp máy tính có thể hiểu và thực hiện được các tác vụ tương ứng. Nếu không tuân theo đúng cú pháp thì Python (Interperter) sẽ báo lỗi khi chạy mã lệnh của bạn viết ra. Ở ví dụ sau đây lập trình viên thiếu đặt cặp dấu ngoặc bao ngoài cụm từ Hello World!: print Hello World!Và khi chạy Python sẽ báo lỗi syntax không hợp lệ như sau: Câu Lệnh (Statement)Một câu lệnh được sử dụng để thực hiện một tác vụ nào đó. Trong hello_world.py chúng ta có một câu lệnh duy nhất: print("Hello World!")Để kết thúc một câu lệnh trong Python bạn có thể sử dụng dấu ;: print("Hello World!");Lưu ý: Thông thường các lập trình viên không dùng dấu ; ở cuối câu lệnh trong Python. Một chương trình python có thể gồm một hay nhiều câu lệnh khác nhau. Chú thích được sử dụng để giải thích ý nghĩa của các câu lệnh trong chương trình. Ví dụ: # Hiển thị "Hello World!" print("Hello World!")Dòng đầu tiên ở đoạn mã trên là một comment vì nó được bắt đầu bởi ký tự #. Python (Interpreter) sẽ bỏ qua dòng này khi thực thi chương trình. Bạn cũng có thể đặt comment phía sau câu lệnh: print("Hello World!") # Hiển thị "Hello World!"Bạn có thể thấy rằng với chương trình đơn giản như Hello World ở trên thì việc sử dụng comment là hơi dư thừa, tuy nhiên khi bước vào làm việc với các dự án thực tế mà ở đó source code có thể lên tới vài ngàn hoặc hàng triệu dòng thì việc sử dụng chú thích là rất cần thiết. Để viết các comment dài nhiều dòng chúng ta sử dụng cặp 3 dấu nháy kép (tripple double-quote) như sau: """ Khi sử dụng print trong Python bạn cần nhớ: Đặt văn bản bên trong cặp dấu nháy đơn, ví dụ: 'Hello World!' Hoặc bên trong cặp dấu nháy kép, ví dụ: "Hello World!" """ print("Hello World!")Lưu ý: Một số comment đặc biệt vẫn được chương trình Python Interpreter đọc khi chạy chương trình, ví dụ như comment #!/usr/bin/python mà chúng ta đã được tìm hiểu ở cuối bài học Hello World. Xuống Dòng (Trong Source Code)Khi cần hiển thị một đoạn văn bản gồm nhiều dòng, chúng ta có thể ngắn dòng bằng cách sử dụng ký tự \. Cách làm này để source code nhìn gọn gàng hơn. Ví dụ: print "Đoạn văn bản trong ví dụ này bao gồm nhiều câu và do đó \ ta sẽ tách nó thành nhiều dòng để dễ đọc hơn.\ Câu thứ 1 balabla.\ Câu thứ 2 balabla."Hoặc bạn cũng có thể sử dụng cặp 3 dấu nháy kép (hoặc nháy đơn) như sau: print """Đoạn văn bản trong ví dụ này bao gồm nhiều câu và do đó \ ta sẽ tách nó thành nhiều dòng để dễ đọc hơn.\ Câu thứ 1 balabla.\ Câu thứ 2 balabla."""Lưu ý: Bạn cần phân biệt cách sử dụng cặp 3 dấu nháy kép như trên không đặt chúng ở đầu dòng mà sau print nên chúng không tạo ra một chú thích (comment) như những gì đã học ở phần trước. Ký Tự Đặc BiệtĐể hiển thị các ký tự đặc biệt như tab, xuống dòng (ở ví dụ trên chúng ta dùng \ để xuống dòng trong source code, còn khi hiển thị thì văn bản vẫn nằm ở cùng một dòng. Hai tình huống này khác nhau nhé!), dấu nháy đơn, dấu nháy kép... chúng ta sẽ sử dụng kết hợp ký tự \ theo sau bởi một chữ cái in thường ứng với ký tự đặc biệt cần hiển thị. Ví dụ để hiển thị tab chúng ta sử dụng \t (t được lấy từ chữ cái đầu của từ tab): print("\tHello World!")Để xuống dòng mới (khi hiển thị): print("Hello\nWorld!")Để hiển thị dấu nháy kép: print("\"Hello World\!"")Hoặc với ví dụ trên bạn cũng có thể làm như sau: print('"Hello World!"')Và cuối cùng nếu bạn cần hiển thị ký tự \: print("Hello\\World!") 1/29/2009 8:58:25 PMNguyễn Mộng Quỳnh · Nguyễn Mộng Quỳnh 20:58 29/01/2009 Tôi muốn làm điều đó trong con trăn. Điều tôi muốn làm trong ví dụ này trongc: Trong C: #includeĐầu ra: ..........Trong Python: >>> for i in range(10): print('.') . . . . . . . . . . >>> print('.', '.', '.', '.', '.', '.', '.', '.', '.', '.') . . . . . . . . . .Trong Python printsẽ thêm một \nhoặc khoảng trắng, làm cách nào tôi có thể tránh điều đó? Bây giờ, nó chỉ là một ví dụ, đừng nói với tôi rằng trước tiên tôi có thể xây dựng một chuỗi sau đó in nó. Tôi muốn biết cách "nối" các chuỗi vào stdout. 2080 hữu ích 4 bình luận 2.0m xem chia sẻ answer Lê Quốc Bình · Lê Quốc Bình 21:01 29/01/2009 Trong Python 3, bạn có thể sử dụng các tham số sep=và end=của printhàm: Để không thêm một dòng mới vào cuối chuỗi: print('.', end='')Để không thêm khoảng trắng giữa tất cả các đối số hàm bạn muốn in: print('a', 'b', 'c', sep='')Bạn có thể chuyển bất kỳ chuỗi nào cho một trong hai tham số và bạn có thể sử dụng cả hai tham số cùng một lúc. Nếu bạn gặp sự cố với bộ đệm, bạn có thể xóa đầu ra bằng cách thêm flush=Trueđối số từ khóa: print('.', end='', flush=True)Python 2.6 và 2.7Từ Python 2.6, bạn có thể nhập printhàm từ Python 3 bằng __future__mô-đun : from __future__ import print_functioncho phép bạn sử dụng giải pháp Python 3 ở trên. Tuy nhiên, lưu ý rằng flushtừ khóa không có sẵn trong phiên bản của printhàm được nhập từ __future__Python 2; nó chỉ hoạt động trong Python 3, cụ thể hơn là 3.3 trở lên. Trong các phiên bản trước đó, bạn vẫn cần xóa thủ công bằng một cuộc gọi tới sys.stdout.flush(). Bạn cũng sẽ phải viết lại tất cả các câu lệnh in khác trong tệp mà bạn thực hiện việc nhập này. Hoặc bạn có thể sử dụng sys.stdout.write() import sys sys.stdout.write('.')Bạn cũng có thể cần gọi sys.stdout.flush()để đảm bảo stdoutđược xả ngay lập tức. 2840 hữu ích 5 bình luận chia sẻ answer Võ Dương Anh · Võ Dương Anh 10:09 27/07/2012 Nó sẽ đơn giản như được mô tả tại liên kết này của Guido Van Rossum: Re: Làm thế nào để in mà không có ac / r? http://legacy.python.org/search/hypermail/python-1992/0115.html
Có, thêm dấu phẩy sau đối số cuối cùng để in. Ví dụ, vòng lặp này in các số 0..9 trên một dòng được phân tách bằng dấu cách. Lưu ý "print" không tham số sẽ thêm dòng mới cuối cùng: >>> for i in range(10): ... print i, ... else: ... print ... 0 1 2 3 4 5 6 7 8 9 >>>297 hữu ích 5 bình luận chia sẻ answer Lê Đức Thiên · Lê Đức Thiên 21:24 29/01/2009 Lưu ý: Tiêu đề của câu hỏi này từng là một cái gì đó như "Làm thế nào để printf trong python?" Vì mọi người có thể đến đây tìm kiếm nó dựa trên tiêu đề, Python cũng hỗ trợ thay thế kiểu printf: >>> strings = [ "one", "two", "three" ] >>> >>> for i in xrange(3): ... print "Item %d: %s" % (i, strings[i]) ... Item 0: one Item 1: two Item 2: threeVà, bạn có thể nhân các giá trị chuỗi một cách thủ công: >>> print "." * 10 ..........174 hữu ích 5 bình luận chia sẻ answer Hoàng Minh Quang · Hoàng Minh Quang 20:50 21/02/2011 Sử dụng hàm in kiểu python3 cho python2.6 + (cũng sẽ phá vỡ mọi câu lệnh in có từ khóa hiện có trong cùng một tệp.) # for python2 to use the print() function, removing the print keyword from __future__ import print_function for x in xrange(10): print('.', end='')Để không làm hỏng tất cả các từ khóa in python2 của bạn, hãy tạo một printf.pytệp riêng # printf.py from __future__ import print_function def printf(str, *args): print(str % args, end='')Sau đó, sử dụng nó trong tệp của bạn from printf import printf for x in xrange(10): printf('.') print 'done' #..........doneCác ví dụ khác hiển thị kiểu printf printf('hello %s', 'world') printf('%i %f', 10, 3.14) #hello world10 3.14000096 hữu ích 0 bình luận chia sẻ answer Hoàng Tuyết Xuân · Hoàng Tuyết Xuân 17:16 03/12/2010 Cách in trên cùng một dòng: import sys for i in xrange(0,10): sys.stdout.write(".") sys.stdout.flush()44 hữu ích 0 bình luận chia sẻ answer Hoàng Bích Như · Hoàng Bích Như 21:07 29/01/2009 Hàm mới (kể từ Python 3.x) printcó một endtham số tùy chọn cho phép bạn sửa đổi ký tự kết thúc: print("HELLO", end="") print("HELLO")Đầu ra:
Ngoài ra còn có sepdấu phân cách: print("HELLO", "HELLO", "HELLO", sep="")Đầu ra:
Nếu bạn muốn sử dụng cái này trong Python 2.x, chỉ cần thêm cái này vào đầu tệp của bạn: from __future__ import print_function 32 hữu ích 3 bình luận chia sẻ answer Bùi Thiên Mai · Bùi Thiên Mai 01:55 17/06/2015 Sử dụng functools.partial để tạo một hàm mới có tên printf >>> import functools >>> printf = functools.partial(print, end="") >>> printf("Hello world\n") Hello worldCách dễ dàng để bọc một hàm với các tham số mặc định. 23 hữu ích 0 bình luận chia sẻ answer Hoàng Chung Thủy · Hoàng Chung Thủy 19:45 10/07/2014 Bạn chỉ có thể thêm ,vào cuối printhàm để nó không in trên dòng mới. 17 hữu ích 4 bình luận chia sẻ answer Đặng Tuyết Xuân · Đặng Tuyết Xuân 21:22 09/07/2016 Trong Python 3+, printlà một hàm. Khi bạn gọi print('hello world')Python dịch nó thành print('hello world', end='\n')Bạn có thể thay đổi endbất cứ điều gì bạn muốn. print('hello world', end='') print('hello world', end=' ')15 hữu ích 0 bình luận chia sẻ answer Lê Kim Tuyền · Lê Kim Tuyền 17:09 22/07/2015 python 2.6+ : from __future__ import print_function # needs to be first statement in file print('.', end='')trăn 3 : print('.', end='')python <= 2,5 : import sys sys.stdout.write('.')nếu không gian thừa là OK sau mỗi lần in, trong python 2 print '.',gây hiểu lầm trong python 2 - tránh : 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') `10 hữu ích 0 bình luận chia sẻ answer Hồ Mỹ Dung · Hồ Mỹ Dung 12:03 23/11/2015 Bạn co thể thử: 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')9 hữu ích 0 bình luận chia sẻ answer Hoàng Gia Kiệt · Hoàng Gia Kiệt 17:37 05/07/2013 Bạn có thể làm tương tự trong python3 như sau: #!usr/bin/python i = 0 while i<10 : print('.',end='') i = i+1và thực hiện nó với python filename.pyhoặcpython3 filename.py 6 hữu ích 0 bình luận chia sẻ answer Đỗ Ngọc Uyên · Đỗ Ngọc Uyên 03:39 18/06/2012 gần đây tôi đã gặp vấn đề tương tự .. tôi đã giải quyết nó bằng cách: 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)tính năng này hoạt động trên cả unix và windows ... chưa thử nghiệm nó trên macosx ... hth 6 hữu ích 1 bình luận chia sẻ answer Hoàng Hoàng Ân · Hoàng Hoàng Ân 04:35 28/02/2015 @lenooh đã làm hài lòng truy vấn của tôi. Tôi đã phát hiện ra bài viết này trong khi tìm kiếm 'python ức chế dòng mới'. Tôi đang sử dụng IDLE3 trên Raspberry Pi để phát triển Python 3.2 cho PuTTY. Tôi muốn tạo một thanh tiến trình trên dòng lệnh PuTTY. Tôi không muốn trang cuộn đi. Tôi muốn có một đường ngang để đảm bảo lại với người dùng rằng chương trình không bị dừng lại cũng như không được đưa đến bữa trưa trên một vòng lặp vô hạn vui vẻ - như một lời cầu xin 'hãy để tôi yên, tôi vẫn ổn, nhưng điều này có thể mất một thời gian. ' tin nhắn tương tác - giống như thanh tiến trình trong văn bản. Thông báo print('Skimming for', search_string, '\b! .001', end='')khởi tạo thông báo bằng cách chuẩn bị cho lần ghi màn hình tiếp theo, sẽ in ra ba khoảng cách ngược dưới dạng ⌫⌫⌫ rubout và sau đó là một dấu chấm, xóa sạch '001' và kéo dài dòng dấu chấm. Sau khi search_stringnhập liệu của người dùng vẹt, \b!dấu chấm than trong search_stringvăn bản của tôi lùi vào khoảng trống mà print()ngược lại buộc phải đặt đúng dấu câu. Theo sau đó là một khoảng trắng và 'dấu chấm' đầu tiên của 'thanh tiến trình' mà tôi đang mô phỏng. Không cần thiết, thông báo sau đó cũng được đánh đầu bằng số trang (được định dạng có độ dài là ba với các số không ở đầu) để người dùng thông báo rằng tiến trình đang được xử lý và điều này cũng sẽ phản ánh số khoảng thời gian mà chúng tôi sẽ xây dựng sau này cho đúng. 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')Thịt thanh tiến trình nằm trong sys.stdout.write('\b\b\b.'+format(page, '03'))dòng. Đầu tiên, để xóa ở bên trái, nó sao lưu con trỏ qua ba ký tự số với '\ b \ b \ b' khi ⌫⌫⌫ chạy và bỏ dấu chấm mới để thêm vào độ dài thanh tiến trình. Sau đó, nó viết ba chữ số của trang mà nó đã phát triển cho đến nay. Bởi vì sys.stdout.write()đợi bộ đệm đầy đủ hoặc kênh đầu ra đóng lại, sys.stdout.flush()buộc phải ghi ngay lập tức. sys.stdout.flush()được tích hợp vào phần cuối print()được bỏ qua với print(txt, end='' ). Sau đó, mã lặp lại các hoạt động tốn nhiều thời gian thông thường của nó trong khi nó không in gì nữa cho đến khi nó quay trở lại đây để xóa ba chữ số trở lại, thêm dấu chấm và viết lại ba chữ số, tăng dần. Ba chữ số được xóa và viết lại hoàn toàn không cần thiết - nó chỉ là một dấu thăng hoa minh chứng cho sự sys.stdout.write()so sánh print(). Bạn có thể dễ dàng tính nguyên tố với một dấu chấm và quên đi ba dấu gạch chéo ngược-b ⌫ lạ mắt (tất nhiên cũng không viết số trang được định dạng) bằng cách in thanh dấu chấm dài hơn mỗi lần một dấu chấm - không có dấu cách hoặc dòng mới chỉ bằng cách sử dụng sys.stdout.write('.'); sys.stdout.flush()đôi. Xin lưu ý rằng trình bao Raspberry Pi IDLE3 Python không tôn trọng backspace dưới dạng ⌫ rubout mà thay vào đó in ra một khoảng trắng, thay vào đó tạo ra một danh sách rõ ràng các phân số. - (o = 8> wiz 5 hữu ích 0 bình luận chia sẻ answer Nguyễn Tùng Lâm · Nguyễn Tùng Lâm 05:54 09/03/2017 Bạn sẽ nhận thấy rằng tất cả các câu trả lời trên đều đúng. Nhưng cuối cùng tôi muốn tạo một phím tắt để luôn viết tham số "end = ''". Bạn có thể xác định một hàm như def Print(*args,sep='',end='',file=None,flush=False): print(*args,sep=sep,end=end,file=file,flush=flush)Nó sẽ chấp nhận tất cả số lượng tham số. Thậm chí nó sẽ chấp nhận tất cả các tham số khác như tệp, tuôn ra, v.v. và có cùng tên. 5 hữu ích 1 bình luận chia sẻ answer Phạm Minh Dân · Phạm Minh Dân 18:46 24/11/2015 Nhiều câu trả lời trong số này có vẻ hơi phức tạp. Trong Python 3.x, bạn chỉ cần thực hiện điều này: print(Giá trị mặc định của end là "\n". Chúng tôi chỉ đơn giản là thay đổi nó thành một khoảng trắng hoặc bạn cũng có thể sử dụng end=""(không có khoảng trắng) để làm những gì printfbình thường. 5 hữu ích 0 bình luận chia sẻ answer Phạm Thành Trung · Phạm Thành Trung 14:18 23/07/2015 bạn muốn in thứ gì đó trong vòng lặp for ngay; nhưng bạn không muốn nó in ở dòng mới mỗi lần .. ví dụ: for i in range (0,5): print "hi" OUTPUT: hi hi hi hi hinhưng bạn muốn nó in như thế này: hi hi hi hi hi hi hi đúng không ???? chỉ cần thêm dấu phẩy sau khi in "hi" Thí dụ: for i in range (0,5): print "hi", OUTPUT: hi hi hi hi hi 4 hữu ích 1 bình luận chia sẻ answer Dương Nam Phi · Dương Nam Phi 01:41 17/10/2018 Hoặc có một chức năng như: def Print(s): return sys.stdout.write(str(s))Ngay sau đó: for i in range(10): # or `xrange` for python 2 version Print(i)Kết quả đầu ra: 01234567892 hữu ích 0 bình luận chia sẻ answer Đỗ Ðức Bảo · Đỗ Ðức Bảo 13:35 20/08/2018 Có hai cách chung để làm điều này: In không có dòng mới trong Python 3.x Không thêm gì sau câu lệnh in và xóa '\ n' bằng cách sử dụng end='' như: >>> 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 outputMột ví dụ khác trong Loop : for i in range(1,10): print(i, end='.')In không có dòng mới trong Python 2.x Thêm một dấu phẩy ở cuối cho biết rằng sau khi in bỏ qua \n. >>> print "hello",; print" world" hello worldMột ví dụ khác trong Loop : for i in range(1,10): print "{} .".format(i),Hy vọng điều này sẽ giúp bạn. Bạn có thể truy cập liên kết này . 2 hữu ích 5 bình luận chia sẻ answer Phan Nam Lộc · Phan Nam Lộc 08:01 03/07/2020 for i in range(0, 5): #setting the value of (i) in the range 0 to 5 print(i) Đoạn mã trên cho kết quả sau: 0 1 2 3 4Nhưng nếu bạn muốn in tất cả các đầu ra này theo một đường thẳng thì tất cả những gì bạn nên làm là thêm một thuộc tính gọi là end () để in. for i in range(0, 5): #setting the value of (i) in the range 0 to 5 print(i, end=" ")Đầu ra: 0 1 2 3 4Và không chỉ là khoảng trắng, bạn cũng có thể thêm các phần cuối khác cho đầu ra của mình. Ví dụ, for i in range(0, 5): #setting the value of (i) in the range 0 to 5 print(i, end=", ")Đầu ra: 0, 1, 2, 3, 4,Nhớ lại: Note: The [for variable in range(int_1, int_2):] always prints till the variable is 1 less than it's limit. (1 less than int_2)2 hữu ích 0 bình luận chia sẻ answer Ngô Phương Quyên · Ngô Phương Quyên 20:13 18/10/2014 for i in xrange(0,10): print '\b.', Điều này hoạt động trong cả 2.7.8 và 2.5.2 (tương ứng với thiết bị đầu cuối Canopy và OSX) - không yêu cầu nhập mô-đun hoặc du hành thời gian. 1 hữu ích 4 bình luận chia sẻ answer Huỳnh Thiên Khuê · Huỳnh Thiên Khuê 04:01 17/05/2017 ... bạn không cần nhập bất kỳ thư viện nào. Chỉ cần sử dụng ký tự xóa: BS=u'\0008' # the unicode for "delete" character for i in range(10):print(BS+"."),điều này sẽ xóa dòng mới và khoảng trắng (^ _ ^) * -4 hữu ích 0 bình luận chia sẻ Xem nguồn: https://stackoverflow.com/questions/493386/how-to-print-without-newline-or-space |