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


Super487 (Super487)

學校 : 國立交通大學
編號 : 182269
來源 : [140.113.92.29]
最後登入時間 :
2023-12-26 20:22:51

#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.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

#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

#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

 

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
來源 : [114.42.176.221]
最後登入時間 :
2025-10-04 22:52:03

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

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

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

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


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

 


    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

 


    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

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

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

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


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

我不太理解EOF是什麼

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


kenny980721.tu@gmail.com (有事直接私)

學校 : 國立中興大學附屬高級中學
編號 : 290039
來源 : [220.134.29.87]
最後登入時間 :
2025-09-13 17:26:11

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

我不太理解EOF是什麼

EOF,是End of File 的缩写,通常指文件结尾或者数据流结尾。 在计算机中,EOF 表示当程序无法从数据源(如文件或数据流)中读取更多数据时所达到的状态。 
 
具体来说,EOF 可以指:
  • 文件结尾:
    当程序读取一个文件时,如果已经读取了文件的最后一个字节,那么就到达了文件结尾,也就是EOF。 
     
  • 数据流结尾:
    当程序读取一个数据流(例如从网络接收数据)时,如果数据流已经结束,无法再读取更多数据,那么就到达了EOF。 
     
  • EOF 宏:
    在C 语言等编程语言中,EOF 通常是一个宏,它的值通常是-1 或其他一个特殊值,用于在程序中表示文件结尾或数据流结尾的状态。 
     
EOF 的存在是为了让程序能够判断何时停止读取数据,避免出现错误或无限循环。