Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

Sử dụng vòng lặp trong thời gian để lấy đầu vào vô hạn trong Python. Lưu đầu vào đó vào cấu trúc dữ liệu khác như một danh sách và sử dụng bất kỳ điều kiện nào để phá vỡ vòng lặp trong khi.

Mã ví dụ đơn giản lấy bất kỳ loại người dùng nhập giá trị.

inputs = []
while True:
    inp = input("Type Anything/ Press Enter: ")
    if inp == "":
        break
    inputs.append(inp)

print(inputs)

Output::

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về chương trình đầu vào Python này.

Lưu ý: IDE: & NBSP; Pycharm & NBSP; 2021.3.3 (Phiên bản cộng đồng) IDE: PyCharm 2021.3.3 (Community Edition)

Windows 10

Python 3.10.1

Tất cả & nbsp; ví dụ python & nbsp; là trong & nbsp; Python & nbsp; 3, vì vậy có thể khác với các phiên bản Python 2 hoặc nâng cấp. Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.

Bây giờ, điều là tôi phải lấy một lượng đầu vào không xác định từ người dùng như trên một lần chạy, anh ta có thể nhập 10 điều khoản vào một lần chạy khác, anh ta có thể nhập 40. và tôi không thể yêu cầu người dùng ban đầu nhập giá trị của n để Tôi có thể chạy một vòng lặp phạm vi và bắt đầu lưu trữ đầu vào trong danh sách. Nếu bằng cách nào đó tôi có thể làm điều này thì tôi đã tạo ra vòng lặp nhưng đó không phải là trường hợp. Vì vậy, câu hỏi là làm thế nào để xác định điểm cuối cho người dùng? Hoặc làm thế nào để chuyển số lượng đối số không xác định cho hàm?

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a

Hàm gọi chính bắt đầu

n =[]
????
//This loop is for calling fibi function and printing its output on each diff line
for i in n:
    print (fibi(n[i]))

Đầu vào mẫu: Mỗi mục phải nằm trên một dòng mới

1
2
3
4
5
.
.
.
n

Đầu ra mẫu

1
1
2
3
5

Đã hỏi ngày 23 tháng 7 năm 2015 lúc 16:34Jul 23, 2015 at 16:34

Arpit agarwalarpit agarwalArpit Agarwal

5371 Huy hiệu vàng5 Huy hiệu bạc17 Huy hiệu đồng1 gold badge5 silver badges17 bronze badges

5

Đây là cách đọc nhiều đầu vào số nguyên từ người dùng:

inputs = []
while True:
    inp = raw_input()
    if inp == "":
        break
    inputs.append(int(inp))

Nếu bạn muốn chuyển số lượng đối số cho chức năng, bạn có thể sử dụng *args:

def function(*args):
    print args
function(1, 2, 3)

Điều này sẽ in

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
7.

Hoặc bạn chỉ có thể sử dụng danh sách cho mục đích đó:

def function(numbers):
    ...
function([1, 2, 3])

Đã trả lời ngày 23 tháng 7 năm 2015 lúc 16:49Jul 23, 2015 at 16:49

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

Hannes Karppilahannes KarppilaHannes Karppila

9392 Huy hiệu vàng14 Huy hiệu bạc31 Huy hiệu đồng2 gold badges14 silver badges31 bronze badges

4

from sys import stdin 
lines = stdin.read().splitlines()
print(lines)

ĐẦU VÀO

0
1
5
12
22
1424
..
...

Đầu ra

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
0

Đã trả lời ngày 7 tháng 10 năm 2018 lúc 17:58Oct 7, 2018 at 17:58

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

1

Trong hầu hết các trường hợp, lỗi ném là "Eoferror: EOF trong khi đọc một dòng"

Nếu chúng tôi xử lý lỗi này, công việc của chúng tôi đã hoàn thành!

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
1

Đã trả lời ngày 26 tháng 10 năm 2021 lúc 7:41Oct 26, 2021 at 7:41

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

1

Tôi đoán rằng

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
8 là một danh sách được thông qua dưới dạng các đối số dòng lệnh, nếu vậy thì bạn có thể thử làm

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
2

Dưới đây là một liên kết cho thấy cách phân tích các đối số dòng lệnh.

Đã trả lời ngày 23 tháng 7 năm 2015 lúc 16:47Jul 23, 2015 at 16:47

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
3

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

Đã trả lời ngày 10 tháng 12 năm 2019 lúc 18:19Dec 10, 2019 at 18:19

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?

0

Tôi đoán đây là những gì bạn đang tìm kiếm

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
4

Đã trả lời ngày 21 tháng 7 năm 2020 lúc 13:51Jul 21, 2020 at 13:51

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
9 là danh sách các đầu vào được truyền vào tập lệnh. Đối số đầu tiên
n =[]
????
//This loop is for calling fibi function and printing its output on each diff line
for i in n:
    print (fibi(n[i]))
0 là tên của tập lệnh của bạn. Những gì đến sau đó có thể được coi là những đối số được truyền cho kịch bản. Bạn có thể chỉ cần sử dụng tập lệnh bên dưới để lấy các đầu vào và lưu trữ chúng trong danh sách.

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
5

Đã trả lời ngày 9 tháng 8 năm 2021 lúc 2:19Aug 9, 2021 at 2:19

P GHP GHp gh

391 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

Tôi nghĩ rằng cách tốt nhất để xử lý vấn đề này là sử dụng xử lý lỗi tức là

n =[]
????
//This loop is for calling fibi function and printing its output on each diff line
for i in n:
    print (fibi(n[i]))
1 và
n =[]
????
//This loop is for calling fibi function and printing its output on each diff line
for i in n:
    print (fibi(n[i]))
2, vui lòng tham khảo mã bên dưới.

def fibi(n):
    while n<0 or n>=50:
        print "Enter value of n greater than 0 but less than 50"
        n = int(raw_input())
    if n==0:
        return n
    else:
        a, b = 0, 1
        for i in range(n):
            a, b = b, a + b
    return a
6

Đã trả lời ngày 31 tháng 12 năm 2021 lúc 14:24Dec 31, 2021 at 14:24

Hướng dẫn how do you take infinite input in python? - làm thế nào để bạn có đầu vào vô hạn trong python?