簡體   English   中英

如何使用sys.stdin.readline()?

[英]how to use sys.stdin.readline()?

我現在正在使用jupyter筆記本。 當我嘗試運行以下代碼時,從第三行開始不起作用。

錯誤消息:“ int()以10為底的無效文字:”。

我在第三行找不到任何問題。 我想使用sys模塊而不是input()來減少運行時間。

from sys import stdin
qu=[]
for _ in range(int(stdin.readline())):
    arr = stdin.readline().split()
    if arr[0] == 'push':
        qu.append(arr[1])
    elif arr[0] == 'pop':
        if qu: print(qu.pop(0))
        else: print(-1)
    elif arr[0] == 'size':
        print(len(qu))
    elif arr[0] == 'empty':
        print(1-int(bool(qu)))
    elif arr[0] == 'front':
        if qu: print(qu[0])
        else: print(-1)
    elif arr[0] == 'back':
        if qu: print(qu[-1])
        else: print(-1)
    else:
        pass

來自sys import stdin 2的ValueError Traceback(最近一次調用為最后一次)2 qu = [] ----> 3 for _ in range(int(stdin.readline())):4 arr = stdin.readline()。split ()5如果arr [0] =='push':

ValueError:以10為底的int()的無效文字:''

您正在讀取一行並將其轉換為int。 如果輸入的數字多於1,則會因未拆分而拋出異常。 for _ in range(int(stdin.readline().split()[0])):如果只需要第一個數字。

暫無
暫無

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

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