TypeError: argumen tipe 'int' tidak dapat diiterasi
Saya mendapatkan kesalahan ini ketika saya menjalankan program saya dan saya tidak tahu mengapa. Kesalahan terjadi pada baris yang mengatakan "if 1 not in c:"
Kode:
matrix = [
[0, 0, 0, 5, 0, 0, 0, 0, 6],
[8, 0, 0, 0, 4, 7, 5, 0, 3],
[0, 5, 0, 0, 0, 3, 0, 0, 0],
[0, 7, 0, 8, 0, 0, 0, 0, 9],
[0, 0, 0, 0, 1, 0, 0, 0, 0],
[9, 0, 0, 0, 0, 4, 0, 2, 0],
[0, 0, 0, 9, 0, 0, 0, 1, 0],
[7, 0, 8, 3, 2, 0, 0, 0, 5],
[3, 0, 0, 0, 0, 8, 0, 0, 0],
]
a = 1
while a:
try:
for c, row in enumerate(matrix):
if 0 in row:
print("Found 0 on row,", c, "index", row.index(0))
if 1 not in c:
print ("t")
except ValueError:
break
Apa yang ingin saya ketahui adalah bagaimana saya dapat memperbaiki kesalahan ini agar tidak terjadi dan program tetap berjalan dengan benar.
Terima kasih sebelumnya!
6
3
di sini
c
adalah indeks, bukan daftar yang Anda cari. Karena Anda tidak bisa mengiterasi melalui bilangan bulat, Anda mendapatkan error itu.Anda mencoba memeriksa apakah
1
ada dic
, yang tidak masuk akalc
adalah nomor baris, jadi itu adalahint
. Jadi angka tidak bisa berada di dalam angka lain.Saya pikir Anda menginginkan
if 1 != c:
- yang menguji jikac
tidak memiliki nilai1
.