Hướng dẫn can python read multiple lines of code in a string? - python có thể đọc nhiều dòng mã trong một chuỗi không?

71

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn viết một chương trình nhận được nhiều dòng đầu vào và làm việc với nó từng dòng. Tại sao không có bất kỳ chức năng nào như raw_input trong Python 3?

input không cho phép người dùng đặt các dòng được phân tách bởi Newline (ENTER). Nó chỉ in lại dòng đầu tiên.

Nó có thể được lưu trữ trong một biến hoặc thậm chí đọc nó vào một danh sách?

Hướng dẫn can python read multiple lines of code in a string? - python có thể đọc nhiều dòng mã trong một chuỗi không?

Đã hỏi ngày 14 tháng 5 năm 2015 lúc 13:49May 14, 2015 at 13:49

7

raw_input có thể xử lý chính xác EOF, vì vậy chúng tôi có thể viết một vòng lặp, đọc cho đến khi chúng tôi đã nhận được EOF (CTRL-D) từ người dùng:

Python 3

print("Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it.")
contents = []
while True:
    try:
        line = input()
    except EOFError:
        break
    contents.append(line)

Python 2

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)

Đã trả lời ngày 6 tháng 7 năm 2016 lúc 11:47Jul 6, 2016 at 11:47

XiAketxiauketxiaket

1.68313 Huy hiệu bạc8 Huy hiệu đồng13 silver badges8 bronze badges

4

Trong Python 3.x,

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
1 của Python 2.x đã được thay thế bằng hàm
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
2. Tuy nhiên, trong cả hai trường hợp, bạn không thể nhập chuỗi đa dòng, với mục đích đó, bạn sẽ cần lấy đầu vào từ dòng người dùng và sau đó
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
3 chúng bằng cách sử dụng
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
4 hoặc bạn cũng có thể lấy nhiều dòng khác nhau và kết hợp chúng bằng cách sử dụng toán tử
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
5 được phân tách bằng cách phân tách bằng cách
print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
4

Để nhận đầu vào đa dòng từ người dùng, bạn có thể thích:

no_of_lines = 5
lines = ""
for i in xrange(no_of_lines):
    lines+=input()+"\n"

print(lines)

Hoặc

lines = []
while True:
    line = input()
    if line:
        lines.append(line)
    else:
        break
text = '\n'.join(lines)

Hướng dẫn can python read multiple lines of code in a string? - python có thể đọc nhiều dòng mã trong một chuỗi không?

AMGMNPLK

1.7142 huy hiệu vàng11 Huy hiệu bạc22 Huy hiệu đồng2 gold badges11 silver badges22 bronze badges

Đã trả lời ngày 14 tháng 5 năm 2015 lúc 13:51May 14, 2015 at 13:51

ZdarzdarZdaR

21.3k6 Huy hiệu vàng61 Huy hiệu bạc83 Huy hiệu Đồng6 gold badges61 silver badges83 bronze badges

3

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
7 về cơ bản tương đương với

def input(prompt):
    print(prompt, end='', file=sys.stderr, flush=True)
    return sys.stdin.readline()

Bạn có thể đọc trực tiếp từ

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
8 nếu bạn thích.

lines = sys.stdin.readlines()

lines = [line for line in sys.stdin]

five_lines = list(itertools.islice(sys.stdin, 5))
    

Hai đầu tiên yêu cầu đầu vào bằng cách nào đó, bằng cách đi đến cuối tệp hoặc bằng cách nhập người dùng Control-D (hoặc Control-Z trong Windows) để báo hiệu kết thúc. Cái cuối cùng sẽ trở lại sau năm dòng đã được đọc, cho dù từ một tệp hoặc từ thiết bị đầu cuối/bàn phím.

Đã trả lời ngày 14 tháng 5 năm 2015 lúc 14:45May 14, 2015 at 14:45

Chepnerchepnerchepner

463K68 Huy hiệu vàng486 Huy hiệu bạc630 Huy hiệu Đồng68 gold badges486 silver badges630 bronze badges

9

Sử dụng chức năng tích hợp

print "Enter/Paste your content. Ctrl-D or Ctrl-Z ( windows ) to save it."
contents = []
while True:
    try:
        line = raw_input("")
    except EOFError:
        break
    contents.append(line)
2 để nhận dòng đầu vào từ người dùng.

Bạn có thể đọc sự giúp đỡ ở đây.

Bạn có thể sử dụng mã sau để có được một số dòng cùng một lúc (hoàn thiện bằng một cái trống):

while input() != '':
    do_thing

Đã trả lời ngày 14 tháng 5 năm 2015 lúc 13:52May 14, 2015 at 13:52

Maggickmaggickmaggick

1.30413 Huy hiệu bạc23 Huy hiệu đồng13 silver badges23 bronze badges

1

no_of_lines = 5
lines = ""
for i in xrange(5):
    lines+=input()+"\n"
    a=raw_input("if u want to continue (Y/n)")
    ""
    if(a=='y'):
        continue
    else:
        break
    print lines

Đã trả lời ngày 5 tháng 7 năm 2016 lúc 5:10Jul 5, 2016 at 5:10

1

Làm thế nào để bạn đọc nhiều dòng của một chuỗi trong Python?

Chuỗi đa dòng trong Python:..
Bằng cách sử dụng ba trích dẫn kép: Chuỗi đa dòng Python bắt đầu và kết thúc bằng ba trích dẫn đơn hoặc ba trích dẫn kép. ....
Bằng cách sử dụng ba trích dẫn đơn: Ví dụ: ....
Sử dụng dấu ngoặc. Sử dụng dấu ngoặc, chúng tôi có thể chia một chuỗi thành nhiều dòng. ....
Sử dụng dấu gạch chéo ngược. ....
Tạo chuỗi Multiline sử dụng tham gia ().

Làm thế nào để bạn kéo dài một chuỗi với nhiều dòng trong Python?

Kỹ thuật 1: Trích dẫn ba để tạo chuỗi đa dòng trong Python.Các trích dẫn ba có thể được sử dụng để hiển thị nhiều chuỗi với nhau, tức là các chuỗi đa dòng trong Python.Nếu đầu vào của chúng tôi chứa các câu lệnh Chuỗi có quá nhiều ký tự, thì trích dẫn ba có thể phục vụ chúng tôi với nhu cầu hiển thị nó theo một cách được định dạng.

Làm thế nào để bạn chạy nhiều dòng mã trong Python?

Bạn không thể chia một câu lệnh thành nhiều dòng trong Python bằng cách nhấn Enter.Thay vào đó, hãy sử dụng dấu gạch chéo ngược (\) để chỉ ra rằng một câu lệnh được tiếp tục trên dòng tiếp theo.Trong phiên bản sửa đổi của tập lệnh, một không gian trống và dấu gạch dưới cho thấy câu lệnh được bắt đầu trên dòng 1 được tiếp tục trên dòng 2.use the backslash ( \ ) to indicate that a statement is continued on the next line. In the revised version of the script, a blank space and an underscore indicate that the statement that was started on line 1 is continued on line 2.

Những gì được sử dụng cho nhiều

Sử dụng dấu ngoặc đơn và trích dẫn đơn/đôi, chúng tôi cũng có thể xác định chuỗi đa dòng Python bằng cách kèm theo các phần của chuỗi đa dòng bằng cách sử dụng giá đỡ.Như được hiển thị ở trên, chúng ta có thể sử dụng cả trích dẫn đơn ('') và dấu ngoặc kép ("").