Đây là nỗ lực đầu tiên của tôi trong việc viết một cái gì đó bằng Python. Tôi không hiểu tại sao văn bản sẽ đến dòng tiếp theo. Tôi muốn trở thành:
Bạn có muốn xóa "Sự kiện" không? Y hoặc n
Y or N
Nhưng nó in như:
Bạn có muốn xóa "Sự kiện" không? Y hoặc n
"? Y or N
Cảm ơn
# picks a random string from ideas34.txt
event = random.choice[open['ideas34.txt', 'r'].readlines[]]
choice = int[input['\n' "What would you like to do?" '\n' "1 Random event" '\n' "2 Add a new event" '\n'
"3 Show all events" '\n' "4 Quit" '\n']]
# prints a random event from ideas34.txt
if choice == 1:
print[event]
d = input["Would you like to delete " "\"" + event + "\"? \n Y or N" '\n']
# deletes the event picked
if d == 'Y' or d == 'y':
f = open['ideas34.txt', 'r']
a = [event]
lst = []
for line in f:
for word in a:
if word in line:
line = line.replace[word, ''] # deletes event picked from ideas34.txt
lst.append[line]
f.close[]
f = open['ideas34.txt', 'w']
for line in lst:
f.write[line]
f.close[]
hỏi ngày 2 tháng 7 năm 2016 lúc 17:40Jul 2, 2016 at 17:40
3
Lý do là sự pha trộn của các trích dẫn đơn và đôi, sau đó thoát khỏi dòng mới và trích dẫn kép tất cả lại với nhau trong cùng một dòngnewLine and the double quote all together in the same line
Thay vào đó hãy thử thay vì một cái gì đó giống như
input['Would you like to delete ' '\"' + event + '\"?' '\n' Y or N' '\n']
Đã trả lời ngày 2 tháng 7 năm 2016 lúc 17:54Jul 2, 2016 at 17:54
Φxocę 웃 пepeúpa ツxocę 웃ΦXocę 웃 Пepeúpa ツ
46.5K17 Huy hiệu vàng69 Huy hiệu bạc94 Huy hiệu đồng17 gold badges69 silver badges94 bronze badges
Chào mừng! Nhân vật dòng mới trong Python được sử dụng để đánh dấu phần cuối của một dòng và bắt đầu một dòng mới. Biết cách sử dụng nó là điều cần thiết nếu bạn muốn in đầu ra vào bảng điều khiển và làm việc với các tệp.The new line character in Python is used to mark the end of a line and the beginning of a new line. Knowing how to use it
is essential if you want to print output to the console and work with files. Trong bài viết này, bạn sẽ học: Hãy bắt đầu nào! ✨
🔹 Nhân vật dòng mới
Nhân vật dòng mới trong Python là:
Nó được làm bằng hai ký tự:
- Một dấu gạch chéo ngược.
- Chữ
n
.
Nếu bạn thấy ký tự này trong một chuỗi, điều đó có nghĩa là dòng hiện tại kết thúc tại điểm đó và một dòng mới bắt đầu ngay sau khi nó:
Bạn cũng có thể sử dụng ký tự này trong F-String:f-strings:
>>> print[f"Hello\nWorld!"]
Nhân vật dòng mới trong các câu lệnh in
Theo mặc định, các câu lệnh in thêm một ký tự dòng mới "phía sau hậu trường" ở cuối chuỗi.
Như thế này:
Điều này xảy ra bởi vì, theo tài liệu Python:
Giá trị mặc định của tham số end
của hàm print
tích hợp là \n
, do đó, một ký tự dòng mới được thêm vào chuỗi.
Mẹo: ỨNG DỤNG có nghĩa là "Thêm vào cuối". Append means "add to the end".
Đây là định nghĩa chức năng:
Lưu ý rằng giá trị của end
là \n
, vì vậy điều này sẽ được thêm vào cuối chuỗi.
Nếu bạn chỉ sử dụng một câu lệnh in, bạn sẽ không nhận thấy điều này vì chỉ có một dòng sẽ được in:
Nhưng nếu bạn sử dụng một số câu lệnh in hết trong tập lệnh Python:
Đầu ra sẽ được in bằng các dòng riêng biệt vì \n
đã được thêm "phía sau hậu trường" vào cuối mỗi dòng:
Chúng ta có thể thay đổi hành vi mặc định này bằng cách tùy chỉnh giá trị của tham số end
của hàm print
.
Nếu chúng ta sử dụng giá trị mặc định trong ví dụ này:
Chúng tôi thấy đầu ra được in thành hai dòng:
Nhưng nếu chúng ta tùy chỉnh giá trị của end
và đặt nó thành
input['Would you like to delete ' '\"' + event + '\"?' '\n' Y or N' '\n']
4Một không gian sẽ được thêm vào cuối chuỗi thay vì ký tự dòng mới \n
, do đó, đầu ra của hai câu lệnh in sẽ được hiển thị trong cùng một dòng:
Bạn có thể sử dụng điều này để in một chuỗi các giá trị trong một dòng, như trong ví dụ này:
Đầu ra là:
Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi. We add a conditional statement to make sure that the comma will not be added to the last number of the sequence.
Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:
Đầu ra là:
Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.
Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:
🔸 ký tự dòng mới trong các tệp
with open["names.txt", "r"] as f:
print[f.readlines[]]
Đầu ra là:
Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.
Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:Notice that only the last line of the file doesn't end with a new line character.
🔸 ký tự dòng mới trong các tệp
- Ký tự dòng mới
\n
cũng được tìm thấy trong các tệp, nhưng nó là "ẩn". Khi bạn thấy một dòng mới trong một tệp văn bản, một ký tự dòng mới\n
đã được chèn. - Bạn có thể kiểm tra điều này bằng cách đọc tệp với
8, như thế này:input['Would you like to delete ' '\"' + event + '\"?' '\n' Y or N' '\n']
Như bạn có thể thấy, ba dòng đầu tiên của tệp văn bản kết thúc với một nhân vật \n
mới hoạt động "phía sau hậu trường".Now you can work with the new line character in Python.
Mẹo: Lưu ý rằng chỉ dòng cuối cùng của tệp không kết thúc bằng ký tự dòng mới.
Tóm tắt