У меня есть задание в моем классе CS: найти пары чисел в списке, которые добавляют к числу n, то есть . дал Это код, который я написал для него:TypeError («int» объект не итерируется », в моем коде в python 3
def pair (n, num_list):
"""
this function return the pairs of numbers that add to the value n.
param: n: the value which the pairs need to add to.
param: num_list: a list of numbers.
return: a list of all the pairs that add to n.
"""
for i in num_list:
for j in num_list:
if i + j == n:
return [i,j]
continue
Когда я пытаюсь запустить его, я дал следующее сообщение:
TypeError("'int' object is not iterable",)
в чем проблема, я не могу найти место, в котором я использую list
obj как int
, o наоборот.
http://stackoverflow.com/questions/1938227/into-object-is-not-iterable –
Привет, я попробовал вашу функцию с >>> pair (4, [1,2,3]) [ 1, 3] и работает –
1). Вы передаете целое число вместо списка чисел в качестве второго аргумента 'pair'. 2) Но даже если вы правильно назовете его, ваша функция 'pair' вернет только список первой пары, которую он найдет. Вам нужно собрать эти пары в главный список и вернуть этот список после проверки каждой пары. 3). Вы будете проверять, будет ли номер в 'num_list' с самим собой, что может быть в порядке. Но он дважды проверяет каждую пару, что может быть не совсем нормально. –