Hướng dẫn how do you input multiple lines in python? - làm thế nào để bạn nhập nhiều dòng trong python?

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?

Show

    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 how do you input multiple lines in python? - làm thế nào để bạn nhập nhiều dòng trong python?

    Đã 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.70313 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 how do you input multiple lines in python? - làm thế nào để bạn nhập nhiều dòng trong python?

    AMGMNPLK

    1.7642 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.5K7 Huy hiệu vàng61 Huy hiệu bạc84 Huy hiệu đồng7 gold badges61 silver badges84 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

    466K68 Huy hiệu vàng491 Huy hiệu bạc638 Huy hiệu đồng68 gold badges491 silver badges638 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