#19363: 題目讀取問題


s33557 (Null)

學校 : 不指定學校
編號 : 105162
來源 : [36.226.174.63]
最後登入時間 :
2020-01-07 14:02:59
a001. 哈囉 -- Brian Kernighan | From: [36.231.218.42] | 發表日期 : 2019-09-27 10:56

各位先進好,剛接觸python,有買書自己試著跟著打。

最近知道有ZeroJudge這個網站可以測試能力,可是在第一題就遇到瓶頸。

 

我用Spyder自己使用input語法、再自行輸入變數都可以成功執行,

但是整串程式碼貼到網站上發現失敗,請問有甚麼是有甚麼function可以直接讀取網頁上的變數嗎??

 

使用手冊上有用到for迴圈,可是提示卻要求用while迴圈,這邊看不太懂。

sys這個function也不太懂,有哪些關鍵字可以讓我查詢增加知識嗎?

 

網路其他解釋都看不懂,有請各位大大說明! 謝謝!!

 
#19364: Re:題目讀取問題


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a001. 哈囉 -- Brian Kernighan | From: [1.168.29.40] | 發表日期 : 2019-09-27 11:50

 

import sys

#sys.stdin = open('c:\\test\\test.in', 'r')

for s in sys.stdin:

    print(s.strip())

 

使用手冊的範例如上

如果你沒有指定 sys.stdin

在練習時,會讀取鍵盤的 input

在這個網站會指向測資

 

如果指定 sys.stdin = ...

會指向那個檔案。

 

 
#19365: Re:題目讀取問題


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a001. 哈囉 -- Brian Kernighan | From: [1.168.29.40] | 發表日期 : 2019-09-27 11:58

 

如果測資長的像這樣:

 

測資的第一行有一個數字 n

底下有 n 行。

 

5

abc

asdf

zxcv

qwert

poiuy

 

 

可以這樣寫

 

import sys

n = int(sys.stdin.readline())

for i in range(n):

    s = sys.stdin.readline().strip() 

 

 

 
#19366: Re:題目讀取問題


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a001. 哈囉 -- Brian Kernighan | From: [1.168.29.40] | 發表日期 : 2019-09-27 12:04

 

while(True):

    try:

        s = input()

        .

        .

        .

    except:

        break

 

有些人為了捕捉 EOF 這樣寫,

我覺得這樣不好除錯。

 
ZeroJudge Forum