簡體   English   中英

在 python 中使用 sys.stdin.read() 進入 arguments 后應該按下什么按鈕

[英]What button should be pressed after entering arguments with sys.stdin.read() in python

我正在使用一個簡單的 python 代碼,該代碼使用 sys 庫通過 cmd 獲取多行輸入,我正在使用 sys.stdin.read() 來輸入我的輸入:

3 50
60 20
100 50
120 30

然后我不知道按什么來運行程序。

我試着按回車,Ctrl+D 和 Ctrl+z 什么都沒發生

#Uses python3
import sys

def max_dot_product(a, b):
    a = sorted(a)
    b = sorted(b)
    res = 0
    for i in range(len(a)):
        res += a[i] * b[i]
    return res

if __name__ == '__main__':
    input = sys.stdin.read()
    data = list(input.split())
    n = data[0]
    a = data[1:(n + 1)]
    b = data[(n + 1):]
    print(max_dot_product(a, b))

輸入對我來說很好; 我在最后一對值之后使用了enter (可選)和ctrl-D

從那里開始,程序失敗,因為您嘗試將字符串相乘。 您必須將輸入轉換為數字。

data = list(map(int, input.split()))

Output:

3 50
60 20
100 50
120 30
[3, 50, 60, 20, 100, 50, 120, 30]
9100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM