匿名
https://i.imgur.com/Bz7OuFo.jpg
是個超新手所以問題可能有點智障
但真的想不通
為什麼輸入
3 3 3 3 3 3
6
最後輸出的不是15啊
你可能有興趣的文章...
全部留言
第一層迴圈會跑6次 {3,3,3,3,3,3} 第二層迴圈 k in A[A.index(3)+1]應該會等於 k in A[4] 所以會跑5次 {3,3,3,3,3} 6*5=30 應該是這樣 我沒學過Python 所以不大確定 不過理論上應該是這樣
你這段程式碼的 e = 迴圈執行次數 因為i跟k每次迴圈執行都是3 所以if一定成立
我不是有切割嗎[:] 為什麼不是5+4+3+2+1?
匿名
i 每次進迴圈都是3 所以其實你第二層迴圈的A[A.index(i)+1:] 永遠都是[3,3,3,3,3] 你可以在if I+k ==X: 後印出A[A.index(i)+1:] 你就知道了
留言已被刪
本留言就像流星一樣,一閃即逝。
你的邏輯是對的 只是程式打錯了 改成下面這樣 就可以實現你要的功能了 A=list(map(int,input().split())) //假設輸入{3,3,3,3,3,3} X=int(input()) //輸入6 e=0 for i in range(len(A)): //len(A)=A陣列大小6 range(6)= i會從0到5 for k in range(i+1,len(A)): //range(i+1,len(A))= k會從i+1到5 if A[i]+A[k]==X: e+=1 print(e)