Мне нужно создать функцию, которая может содержать список кортежей и число. Пример: если список кортежей является [(2,5),(8,9),(11,19),(22,43),(47,50)]
, а число 14, то он должен вернуть 18. Причиной этого является под номером 13 в списке 2,3,4,5,8,9,11,12,13,14,15,16,17,18,19...
18, если все числа входят:сумма элементов из разных кортежей
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18.
теперь у меня есть:
def converting(tuples,index):
values = [] #I will get [(2,3,4,5,6),(8,9),(11,12,13,14,15,16,17,18,19),(22,..,43),(47,48,49,50)]
for tuple in tuples:
tupleValues = range(tuple[0], tuple[1]+1)
values.extend(tupleValues) #ex(2,3,4,5,6)
if index <= len(values): #If 14 in the example is lower than len of the list, eg 42
return values[index-1] #return value of 14-1, which is 16?
print converting(14,[(2,5),(8,9),(11,19),(22,43),(47,50)])
Когда я печатаю это, я получаю сообщение: для кортежа в кортежах: TypeError: «INT» объект не итерацию
Я не понимаю ваш вопрос .. –
Не могли бы вы объяснить более подробно ваш вопрос/проблему? Что вы на самом деле пытаетесь сделать? –
Можете ли вы объяснить, как вы получили список «2,3,4,5,8,9 ...»? Вы каким-то образом создали его с помощью списка кортежей? – Kevin