[Video] Python Bài 10 - What was that? - Ôn tập
Xem tới này rồi làm như thế. Tại sao khi e gõ đoạn while True … xong chạy trong IDLE thì nó k ở 1 chỗ mà nó cứ ra từng hàng thế ?
Có khác gì k ?
Em gửi code lên nhé
while True:
for i in ["/","-","|","\\","|"]:
print "%s\r" %i,
==>> e dùng cái IDLE chứ k phải sublime nhé
oh lượn nảy giờ !
e code nó cho chạy trong powershell thì đúng 1 chỗ nhưng ra cái IDLE thì vẫn từng dòng à
không pit nó khác j không ta
Cho anh xem cái hình chụp thử?
Thử đổi cái \r
thành \r\n
hoặc \n
thử. Đạt không có ở đây
Còn nếu thử với \n
không thôi thì sao?
print "%s\n" %i,
vẫn vậy
Vậy thôi bó tay với cái IDLE rồi =))
Wow code này thú vị á, làm cái loading được , anh Đạt giải thích em code này phát, sao nó lại xoay một chỗ mà không enter xuống cũng không nối liền lại ( học nhảy cóc quá )
Câu lệnh này có hai phần, một phần là \r
, một phần là dấu ,
ở cuối lệnh print.
-
\r
gọi là carriage return, nó sẽ reset vị trí của con trỏ “in” về đầu dòng -
,
ở cuối sẽ giúp cho lệnh print tiếp theo không bị xuống hàng, mà in cùng một hàng
Kết hợp 2 cái này sẽ làm cho lệnh print tiếp theo không xuống hàng và ghi đè lên vị trí đầu tiên của hàng. Thử với hàm sau
def tp():
print "a\r",
print "b"
Ta sẽ thấy mỗi chữ b
thôi, vì a
đã bị ghi đè lên. Chạy thử sẽ được
>>> def tp():
... print "a\r",
... print "b"
...
>>> tp()
b
Lúc đầu em tưởng bút sa là gà chết, text đã in ra là không thể thay thế giờ có cái này thì ngon rồi
Cái này thể hiện rõ hơn này
>>> def tp():
... print "abc\r",
... print "de"
...
>>> tp()
dec
Ghi đè chứ không phải thay thế
This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.