#20114: python 錯誤


l1o2r3y4@gmail.com (lory Liu)

學校 : 不指定學校
編號 : 104674
來源 : [140.119.135.100]
最後登入時間 :
2023-03-05 22:52:59
a005. Eva 的回家作業 -- POJ | From: [140.119.192.100] | 發表日期 : 2019-12-03 20:28

還沒加上try 跟 except

temp1=str.split(input())
count, =temp1[0:1:]
count=int(count)
for c in range(1, 4*count+1, 4):
a,b,c,d=temp1[c:c+4:1]
a,b,c,d=(int(a),int(b),int(c),int(d))
if b-a==c-b==d-c:
D=b-a
e=int(d+D)
print(a,b,c,d,e)
elif b/a==c/b==d/c:
R=b/a
e=int(d*R)
print(a,b,c,d,e)
else:
continue

 

在spyder測試都是對的

但打上來測資一直顯示

(expected 4, got 0)

想問一下哪裡出錯了!

 
#20916: Re:python 錯誤


clazenchang@gmail.com (Clazen Chang)

學校 : 不指定學校
編號 : 118278
來源 : [59.126.203.43]
最後登入時間 :
2020-03-19 15:21:36
a005. Eva 的回家作業 -- POJ | From: [59.126.203.43] | 發表日期 : 2020-03-19 15:52

 

在spyder測試都是對的

但打上來測資一直顯示

(expected 4, got 0)

想問一下哪裡出錯了!

 

我是python初學者, 所以看不懂您方括號裡面加冒號的用法,

不過我是這樣解的:

1. 題目第一個數字代表列表數, 所以先讀入, 以決定後續迴圈次數

2. 設定 while 迴圈,圈數小於剛剛讀入的數字,並執行以下動作:

3. 將讀取的數列存在陣列,用 split(" ")分割讀入的數列

4. 每個元素轉成 int 才能做運算

5. if 判斷式,看是等差或等比數列

6. 把算出來的第五項 append 上去原本陣列

7. for 迴圈印出陣列元素,注意格式(空格和換行)

大概長這樣:

input()

while x < i

 (轉換int)

 if(等差)

  算結果並append上去

  for迴圈打印

 if(等比)

  算結果並append上去

  for迴圈打印

 else:

  (丟出例外)

另外請問 方括號裡面加冒號 是lambda用法嗎? 還是其他?

 
#20917: Re:python 錯誤


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-09-15 15:04:12
a005. Eva 的回家作業 -- POJ | From: [61.223.60.176] | 發表日期 : 2020-03-19 16:12

如下有沒有比較簡單

 

from sys import stdin

T = int(stdin.readline())

for i in range(T):

    s = stdin.readline()

    a, b, c, d = [int(x) for x in s.split()]

 
#20924: Re:python 錯誤


clazenchang@gmail.com (Clazen Chang)

學校 : 不指定學校
編號 : 118278
來源 : [59.126.203.43]
最後登入時間 :
2020-03-19 15:21:36
a005. Eva 的回家作業 -- POJ | From: [59.126.203.43] | 發表日期 : 2020-03-20 12:06

 

 

 

 

另外請問 方括號裡面加冒號 是lambda用法嗎? 還是其他?



沒事, 我查到了, 不好意思

 
#20925: Re:python 錯誤


clazenchang@gmail.com (Clazen Chang)

學校 : 不指定學校
編號 : 118278
來源 : [59.126.203.43]
最後登入時間 :
2020-03-19 15:21:36
a005. Eva 的回家作業 -- POJ | From: [59.126.203.43] | 發表日期 : 2020-03-20 12:10

如下有沒有比較簡單

 

from sys import stdin

T = int(stdin.readline())

for i in range(T):

    s = stdin.readline()

    a, b, c, d = [int(x) for x in s.split()]



好像不錯, 有空來試試

 
ZeroJudge Forum