#26260: (python)sys模組與input輸出結果(提問:用sys模組輸出總是WA)


andy.lin61013@gmail.com (我是你爸)

學校 : 國立清華大學
編號 : 158445
來源 : [118.166.40.151]
最後登入時間 :
2022-08-02 21:19:43
a738. 最大公约数 -- 海豚原创 | From: [114.45.206.212] | 發表日期 : 2021-07-28 17:59

 

sys方法 vs input()方法

輸出結果都正確請問為甚麼第一個方法錯誤

from math import gcd
from sys import stdin
for s in stdin:
    a,b=map(int,s.split())
    print(gcd(a,b))
-------------------------------------------------------
import math
while True:
  try:
    x, y = [int(i) for i in input().split()]
    print(math.gcd(x, y))
  except:
    break
 
 
#26261: Re:(python)sys模組與input輸出結果(提問:用sys模組輸出總是WA)


andy.lin61013@gmail.com (我是你爸)

學校 : 國立清華大學
編號 : 158445
來源 : [118.166.40.151]
最後登入時間 :
2022-08-02 21:19:43
a738. 最大公约数 -- 海豚原创 | From: [114.45.206.212] | 發表日期 : 2021-07-28 18:01

 

sys方法 vs input()方法

輸出結果都正確請問為甚麼第一個方法錯誤

from math import gcd
from sys import stdin
for s in stdin:
    a,b=map(int,s.split())
    print(gcd(a,b))
-------------------------------------------------------
import math
while True:
  try:
    x, y = [int(i) for i in input().split()]
    print(math.gcd(x, y))
  except:
    break
 

抱歉第二個應該是

import math
while True:
  try:
    x, y = [int(i) for i in input().split()]
    print(math.gcd(x, y))
  except:
    break
 
#26262: Re:(python)sys模組與input輸出結果(提問:用sys模組輸出總是WA)


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.172]
最後登入時間 :
2024-04-24 20:07:19
a738. 最大公约数 -- 海豚原创 | From: [61.223.43.108] | 發表日期 : 2021-07-28 19:31

那不是 sys module 和 input 的差異

而是你的程式結構的差異。

 

這題測資後面有空白行,

空白行要切為 a, b 會出錯。

你用 try ... except ...

遇到錯誤就終止了。

 

建議別用大迴圈加 try ... except ...

這樣根本不知錯在哪裡。

 
ZeroJudge Forum