Hướng dẫn how do you print a dot in python? - làm thế nào để bạn in một dấu chấm trong python?

Tôi có một chương trình in ra tiến trình của nó cho bảng điều khiển. Cứ sau 20 bước, nó in số bước như 10 20 30, v.v. Nhưng trong đó, nó in một dấu chấm. Điều này được in bằng cách sử dụng câu lệnh in với dấu phẩy ở cuối (Python 2.x)

        if epoch % 10 == 0:
            print epoch,
        else:
            print ".",

Thật không may, tôi nhận thấy rằng các dấu chấm được in ngoài nhau, như thế này:

0 . . . . . . . . . 10 . . . . . . . . . 20 . . . . . . . . . 30

Tôi muốn điều này chặt chẽ hơn, như sau:

0.........10.........20.........30

Trong ngôn ngữ Visual Basic, chúng ta có thể nhận được biểu mẫu này nếu chúng ta thêm một dấu chấm phẩy vào cuối câu lệnh in thay vì dấu phẩy. Có một cách tương tự để làm như vậy trong Python, hoặc một hướng dẫn để có được đầu ra chặt chẽ hơn?

Note:

Với tất cả lời cảm ơn và tôn trọng tất cả những người đã trả lời, tôi nhận thấy rằng một số người trong số họ đã xem xét sự thay đổi trong 'Epoch' xảy ra kịp thời. Trên thực tế, nó không phải là, vì nó xảy ra sau khi hoàn thành một số lần lặp, có thể mất từ ​​một phần hai đến vài phút.

Đây là một câu hỏi rất mới cho bài viết đầu tiên của tôi, có lẽ một cách thích hợp.
appropriately.

Tôi muốn in '....' dần dần, như một chỉ số tiến bộ. Tôi có một vòng lặp mà cứ sau 10 bước thực thi: in '.',
for-loop that every 10 steps executes:
print '.',

Điều này dẫn đến một cái gì đó như 'tải. . . . ', Trong khi tôi muốn' tải .... '
'Loading....'

Một con thú cưng, tôi không thể cho cuộc sống của tôi tìm ra cách để có được đầu ra mong muốn này.
desired output. How do I print dots - or anything for that matter - in
sequence without a space being inserted in between?

Cảm ơn. BJ�rn
Bj�rn

22 tháng 5 '07 #1

Beertje đã viết:

Đây là một câu hỏi rất mới cho bài viết đầu tiên của tôi, có lẽ một cách thích hợp.
appropriately.

Tôi muốn in '....' dần dần, như một chỉ số tiến bộ. Tôi có một vòng lặp mà cứ sau 10 bước thực thi: in '.',
for-loop that every 10 steps executes:
print '.',

Điều này dẫn đến một cái gì đó như 'tải. . . . ', Trong khi tôi muốn' tải .... '
'Loading....'

Một con thú cưng, tôi không thể cho cuộc sống của tôi tìm ra cách để có được đầu ra mong muốn này.
desired output.

Tôi thích sự thiếu hiểu biết.

Làm cách nào để in chấm - hoặc bất cứ điều gì cho vấn đề đó - theo trình tự mà không có khoảng trống được chèn vào giữa?
sequence without a space being inserted in between?
>> nhập sys, thời gian i trong phạm vi (10):
for i in range(10):

.... sys.stdout.write (".") .... sys.stdout.flush () .... Time.s ngủ (.1) .... .......... . >>>
.... sys.stdout.flush()
.... time.sleep(.1)
....
...........>>>

viết () bài viết, Flush () là đánh bại bộ đệm; Không có nó, các dấu chấm sẽ được giữ lại cho đến khi dòng mới tiếp theo. Cuộc gọi thời gian.s ngủ () là bạn có thể thấy nó thực sự là một chấm tại một thời điểm.
dots would be withhold until the next newline. The time.sleep() call is
that you can see it is actually one dot at a time.

Peter

22 tháng 5 '07 #2

Beertje đã viết:

Đây là một câu hỏi rất mới cho bài viết đầu tiên của tôi, có lẽ một cách thích hợp.
appropriately.

Tôi muốn in '....' dần dần, như một chỉ số tiến bộ. Tôi có một vòng lặp mà cứ sau 10 bước thực thi: in '.',
for-loop that every 10 steps executes:
print '.',

Điều này dẫn đến một cái gì đó như 'tải. . . . ', Trong khi tôi muốn' tải .... '
'Loading....'

Một con thú cưng, tôi không thể cho cuộc sống của tôi tìm ra cách để có được đầu ra mong muốn này. Làm cách nào để in chấm - hoặc bất cứ điều gì cho vấn đề đó - theo trình tự mà không có khoảng trống được chèn vào giữa?
desired output. How do I print dots - or anything for that matter - in
sequence without a space being inserted in between?

Cảm ơn. BJ�rn
Bj�rn

Tôi đã viết cái này được tặng cho Python Cookbook một thời gian trước, thưởng thức.

http://aspn.activestate.com/aspn/coo.../recipe/299207

-Larry

22 tháng 5 '07 #4

Beertje đã viết:

Đây là một câu hỏi rất mới cho bài viết đầu tiên của tôi, có lẽ một cách thích hợp.
appropriately.

Tôi muốn in '....' dần dần, như một chỉ số tiến bộ. Tôi có một vòng lặp mà cứ sau 10 bước thực thi: in '.',
for-loop that every 10 steps executes:
print '.',

Điều này dẫn đến một cái gì đó như 'tải. . . . ', Trong khi tôi muốn' tải .... '
'Loading....'

Một con thú cưng, tôi không thể cho cuộc sống của tôi tìm ra cách để có được đầu ra mong muốn này. Làm cách nào để in chấm - hoặc bất cứ điều gì cho vấn đề đó - theo trình tự mà không có khoảng trống được chèn vào giữa?
desired output. How do I print dots - or anything for that matter - in
sequence without a space being inserted in between?

Cảm ơn. BJ�rn
Bj�rn

Tôi đã viết cái này được tặng cho Python Cookbook một thời gian trước, thưởng thức.

http://aspn.activestate.com/aspn/coo.../recipe/299207

-Larry

22 tháng 5 '07 #4

Xem ví dụ ở đây:

22 tháng 5 '07 #5

5 ví dụ mã Python được tìm thấy liên quan đến "chấm in". Bạn có thể bỏ phiếu cho những người bạn thích hoặc bỏ phiếu cho những người bạn không thích và đi đến dự án gốc hoặc tệp nguồn bằng cách theo các liên kết trên mỗi ví dụ. print dots". You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.

ví dụ 1

def print_dots(current, total, start=False, end=False):
	"""Built in callback function used by Thread classes for printing
	status
	"""

	if SHUTDOWN_EVENT.isSet():
		return

	sys.stdout.write('.')
	if current + 1 == total and end is True:
		sys.stdout.write('\n')
	sys.stdout.flush() 

Ví dụ 2

def print_dots(time_delta=1.0):
    """
    Print out a dot every time_delta seconds.

    Loop after three dots.
    """
    dot_count = 0
    while True:
        if logging.getLogger().getEffectiveLevel() <= logging.INFO:
            dot_count = (dot_count % 3) + 1
            print(("." * dot_count) + (" " * 3), end="\r")
            sys.stdout.flush()
        time.sleep(time_delta) 

Ví dụ 3

def print_dots(current, total, start=False, end=False):
    """Built in callback function used by Thread classes for printing
    status
    """

    if SHUTDOWN_EVENT.isSet():
        return

    sys.stdout.write('.')
    if current + 1 == total and end is True:
        sys.stdout.write('\n')
    sys.stdout.flush() 

Ví dụ 4

def printDots(wait_time, stop_event):
    while (not stop_event.is_set()):
        print ".",
        stop_event.wait(wait_time)
        pass 

Ví dụ 5

def print_dots(current, total, start=False, end=False):
    """Built in callback function used by Thread classes for printing
    status
    """

    if SHUTDOWN_EVENT.isSet():
        return

    sys.stdout.write('.')
    if current + 1 == total and end is True:
        sys.stdout.write('\n')
    sys.stdout.flush() 

Làm thế nào để bạn in các biểu thức trong Python?

Bạn có thể sử dụng lệnh P để in giá trị của một biến hoặc kết quả của biểu thức.l sẽ liệt kê 11 dòng mã xung quanh dòng hiện tại của chúng tôi.Nếu bạn tiếp tục nhập lệnh đó, thì bạn sẽ thấy 11 dòng mã tiếp theo.use the p command to print a variable's value or the result of an expression. l will list 11 lines of code around our current line. If you continue entering that command, then you'll see the next 11 lines of code.

In là gì * trong Python?

Hàm in () in thông báo được chỉ định lên màn hình hoặc thiết bị đầu ra tiêu chuẩn khác.Thông báo có thể là một chuỗi hoặc bất kỳ đối tượng nào khác, đối tượng sẽ được chuyển đổi thành một chuỗi trước khi được ghi vào màn hình.prints the specified message to the screen, or other standard output device. The message can be a string, or any other object, the object will be converted into a string before written to the screen.

'%' Được sử dụng cho trong Python là gì?

Khi bạn nhìn thấy biểu tượng %, bạn có thể nghĩ "phần trăm".Nhưng trong Python, cũng như hầu hết các ngôn ngữ lập trình khác, nó có nghĩa là một cái gì đó khác biệt.Biểu tượng % trong Python được gọi là toán tử modulo.Nó trả về phần còn lại của việc chia toán hạng tay trái cho toán hạng bên phải.returns the remainder of dividing the left hand operand by right hand operand.

Làm thế nào để bạn in mà không có dòng mới trong Python?

Nó được sử dụng để chỉ ra sự kết thúc của một dòng văn bản.Bạn có thể in các chuỗi mà không cần thêm một dòng mới có kết thúc =, đó là ký tự sẽ được sử dụng để tách các dòng.end = , which is the character that will be used to separate the lines.