Tôi không thể hiểu tại sao mã # 1 trả về một dòng trống thừa trong khi mã # 2 thì không. Ai đó có thể giải thích điều này? Sự khác biệt là dấu phẩy thêm ở cuối mã số 2.Dòng bổ sung trong đầu ra khi in bên trong một vòng lặp
# Code #1
file = open('tasks.txt')
for i, text in enumerate(filer, start=1):
if i >= 2 and i <= 4:
print "(%d) %s" % (i, text)
# Code #2
file = open('tasks.txt')
for i, text in enumerate(filer, start=1):
if i >= 2 and i <= 4:
print "(%d) %s" % (i, text),
Dưới đây là nội dung của tập tin tasks.txt tôi:
line 1
line 2
line 3
line 4
line 5
Kết quả từ mã # 1:
(2) line 2
(3) line 3
(4) line 4
Kết quả từ mã # 2 (kết quả mong muốn):
(2) line 2
(3) line 3
(4) line 4
Cảm ơn, tôi không biết điều đó. Tôi chỉ nhìn nó lên. Có vẻ như Python 3.0 có chứa một số tính năng bổ sung có liên quan đến in. Nếu tôi hiểu đúng, bạn có thể xác định cách kết thúc dòng của mình bằng Python 3.0+ [tìm thấy nó ở đây] (http://docs.python.org/release/3.1.5/whatsnew/3.0.html#print-is-a -chức năng). Và cảm ơn vì đã chỉ ra sai lầm, vâng tôi có nghĩa là mã số 2. Đã sửa. – finspin
@Jaro Bạn nói đúng, phần trong tài liệu chỉ ra sự khác biệt có liên quan cho việc in giữa Python 2.x và 3.x. – Levon