#29581: Python, NA(score:80%)求解


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a410. 解方程 -- TYVJ | From: [220.141.4.148] | 發表日期 : 2022-03-12 23:48

#0: 10% AC (16ms, 3.3MB)

通過檢測

#1: 10% AC (16ms, 3.4MB)

通過檢測

#2: 10% AC (16ms, 3.4MB)

通過檢測

#3: 10% AC (16ms, 3.4MB)

通過檢測

#4: 10% AC (16ms, 3.4MB)

通過檢測

#5: 10% AC (18ms, 3.3MB)

通過檢測

#6: 10% AC (16ms, 3.3MB)

通過檢測

#7: 10% AC (16ms, 3.3MB)

通過檢測

#8: 10% WA (line:1)

您共輸出 0 行。

#9: 10% WA (line:1)

您共輸出 0 行。

 

while True:

try:

a1, b1, c1, a2, b2, c2 = map(int, input().split())

delta = a1*b2 - b1*a2

delta_x = c1*b2 - b1*c2

delta_y = a1*c2 - c1*a2

if delta == 0:

if delta_x == 0 and delta_y == y:

print('Too many')

else:

print('No answer')

else:

x = str(round(delta_x / delta, 2))

y = str(round(delta_y / delta, 2))

if '.' in x:

if len([i for i in x.split('.')][1]) == 1:

x = x + '0'

else:

x = x + '.00'

if '.' in y:

if len([i for i in y.split('.')][1]) == 1:

y = y +'0'

else:

y = y + '.00'

print(f'x={x}')

print(f'y={y}')

except:

break

 
#29587: Re:Python, NA(score:80%)求解


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a410. 解方程 -- TYVJ | From: [27.247.4.185] | 發表日期 : 2022-03-13 09:09

#0: 10% AC (16ms, 3.3MB)

通過檢測

#1: 10% AC (16ms, 3.4MB)

通過檢測

#2: 10% AC (16ms, 3.4MB)

通過檢測

#3: 10% AC (16ms, 3.4MB)

通過檢測

#4: 10% AC (16ms, 3.4MB)

通過檢測

#5: 10% AC (18ms, 3.3MB)

通過檢測

#6: 10% AC (16ms, 3.3MB)

通過檢測

#7: 10% AC (16ms, 3.3MB)

通過檢測

#8: 10% WA (line:1)

您共輸出 0 行。

#9: 10% WA (line:1)

您共輸出 0 行。

 

while True:

try:

a1, b1, c1, a2, b2, c2 = map(int, input().split())

delta = a1*b2 - b1*a2

delta_x = c1*b2 - b1*c2

delta_y = a1*c2 - c1*a2

if delta == 0:

if delta_x == 0 and delta_y == y:

print('Too many')

else:

print('No answer')

else:

x = str(round(delta_x / delta, 2))

y = str(round(delta_y / delta, 2))

if '.' in x:

if len([i for i in x.split('.')][1]) == 1:

x = x + '0'

else:

x = x + '.00'

if '.' in y:

if len([i for i in y.split('.')][1]) == 1:

y = y +'0'

else:

y = y + '.00'

print(f'x={x}')

print(f'y={y}')

except:

break


先把縮排改好吧,你貼上來縮排都不見了,實在是不知道程式碼原本是長怎樣...

 
#29588: Re:Python, NA(score:80%)求解


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a410. 解方程 -- TYVJ | From: [220.141.4.148] | 發表日期 : 2022-03-13 09:42

#0: 10% AC (16ms, 3.3MB)

通過檢測

#1: 10% AC (16ms, 3.4MB)

通過檢測

#2: 10% AC (16ms, 3.4MB)

通過檢測

#3: 10% AC (16ms, 3.4MB)

通過檢測

#4: 10% AC (16ms, 3.4MB)

通過檢測

#5: 10% AC (18ms, 3.3MB)

通過檢測

#6: 10% AC (16ms, 3.3MB)

通過檢測

#7: 10% AC (16ms, 3.3MB)

通過檢測

#8: 10% WA (line:1)

您共輸出 0 行。

#9: 10% WA (line:1)

您共輸出 0 行。

 

while True:

  try:

    a1, b1, c1, a2, b2, c2 = map(int, input().split())

    delta = a1*b2 - b1*a2

    delta_x = c1*b2 - b1*c2

    delta_y = a1*c2 - c1*a2

    if delta == 0:

    if delta_x == 0 and delta_y == y:

        print('Too many')

    else:

        print('No answer')

    else:

    x = str(round(delta_x / delta, 2))

    y = str(round(delta_y / delta, 2))

    if len([i for i in x.split('.')][1]) == 1:

        x = x + '0'

    else:

        x = x + '.00'

    if len([i for i in y.split('.')][1]) == 1:

        y = y +'0'

    else:

        y = y + '.00'

    print(f'x={x}')

    print(f'y={y}')

  except:

    break


先把縮排改好吧,你貼上來縮排都不見了,實在是不知道程式碼原本是長怎樣...



 
#29589: Re:Python, NA(score:80%)求解


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a410. 解方程 -- TYVJ | From: [220.141.4.148] | 發表日期 : 2022-03-13 09:58

 

while True:

  try:

    a1, b1, c1, a2, b2, c2 = map(int, input().split())

    delta = a1*b2 - b1*a2

    delta_x = c1*b2 - b1*c2

    delta_y = a1*c2 - c1*a2

    if delta == 0:

    if delta_x == 0 and delta_y == y:

        print('Too many')

    else:

        print('No answer')

    else:

      x = str(round(delta_x / delta, 2))

      y = str(round(delta_y / delta, 2))

      if len([i for i in x.split('.')][1]) == 1:

        x = x + '0'

      else:

        x = x + '.00'

      if len([i for i in y.split('.')][1]) == 1:

        y = y +'0'

      else:

        y = y + '.00'

      print(f'x={x}')

      print(f'y={y}')

  except:

    break


先把縮排改好吧,你貼上來縮排都不見了,實在是不知道程式碼原本是長怎樣...





 
#29590: Re:Python, NA(score:80%)求解


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a410. 解方程 -- TYVJ | From: [1.168.34.191] | 發表日期 : 2022-03-13 10:34

個人不贊成把所有的程式碼用 try 包起來。

這樣不好除錯,一有非預期的狀況,直接結束。

這網站的 python 範例程式,不知誰改的。

 
#29591: Re:Python, NA(score:80%)求解


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
a410. 解方程 -- TYVJ | From: [27.247.4.185] | 發表日期 : 2022-03-13 10:36

 


    if delta_x == 0 and delta_y == y:


  except:





 

delta_y == y改成delta_y == 0


不建議使用except:,可以改成except EOFError:,不然其他錯誤就會被吃掉。改掉就會出現錯誤訊息:

您的程式被監控系統中斷,可能是程式無法正常結束所導致。 Traceback (most recent call last): File "/9256210/code_9256210.py", line 8, in if delta_x == 0 and delta_y == y: NameError: name 'y' is not defined

 
#29592: Re:Python, NA(score:80%)求解


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a410. 解方程 -- TYVJ | From: [220.141.4.148] | 發表日期 : 2022-03-13 11:10

 


    if delta_x == 0 and delta_y == y:


  except:





 

delta_y == y改成delta_y == 0


不建議使用except:,可以改成except EOFError:,不然其他錯誤就會被吃掉。改掉就會出現錯誤訊息:

您的程式被監控系統中斷,可能是程式無法正常結束所導致。 Traceback (most recent call last): File "/9256210/code_9256210.py", line 8, in if delta_x == 0 and delta_y == y: NameError: name 'y' is not defined

謝謝,我要再精進錯誤處理的部分

 
#29593: Re:Python, NA(score:80%)求解


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51
a410. 解方程 -- TYVJ | From: [220.141.4.148] | 發表日期 : 2022-03-13 11:12

個人不贊成把所有的程式碼用 try 包起來。

這樣不好除錯,一有非預期的狀況,直接結束。

這網站的 python 範例程式,不知誰改的。


所以只要把input的部分包在try裡面嗎?

我不太理解EOF是什麼

 
ZeroJudge Forum