簡體   English   中英

如何修復 python 數組中 for 循環的值錯誤?

[英]How can I fix value error on for-loop in python array?

對於家庭作業,我們被要求生成下面的特定數組,並使用 for 循環查找數組中偶數的計數。 運行我的 for 循環后,我遇到了值錯誤。

Q2 = np.random.randint(0, 1000, size = (10, 10))
print("The list of numbers in Q2 array = ", Q2)

even_count = 0
odd_count = 0            

for i in range(len(Q2)):
    if(Q2[i] % 2 == 0):
        even_count = even_count + 1
    else:
        odd_count = odd_count + 1

print("The count of the even numbers in Q2 array = ", even_count)

當我運行 for 循環時收到以下消息: ValueError:具有多個元素的數組的真值不明確。 使用 a.any() 或 a.all()

我已經搜索了這個問題的答案,並找到了值錯誤和布爾值的各種解釋,但沒有一個對我的代碼類型有幫助。 或者沒有詳細說明 Python 的新手理解(我!)任何幫助將不勝感激!

Q2 是數組的數組,因此您需要另一個for循環。

import numpy as np


Q2 = np.random.randint(0, 1000, size = (10, 10))
print("The list of numbers in Q2 array = ", Q2)

even_count = 0
odd_count = 0            

for i in Q2:
    for j in i:
      if (j % 2 == 0):
        even_count = even_count + 1
      else:
        odd_count = odd_count + 1

print("The count of the even numbers in Q2 array = ", even_count)

您正在生成一個二維數組 (10 x 10)。 所以Q2[i]仍然是一個(一維)數組,而不是您所期望的單個 integer。 因此會出現錯誤,因為在您的子數組中您可能同時擁有偶數和奇數 - 換句話說,正如錯誤消息所述,您檢查的真值不明確。

男二次循環,或者干脆創建一個一維數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM