Задача состоит в том, чтобы проверить, совпадают ли последние 3 цифры из соответствующих элементов из двух списков. Если элементы имеют длину менее 3, он проверяет, являются ли они одинаковым числом.Сравнение элементов из двух списков в Python
Если два списка имеют разную длину, он должен возвращать значение false, и если оба списка имеют длину 0, он должен возвращать значение true.
def corresponding_elements_have_same_end(list1, list2):
if len(list1) == len(list2):
for i in range(0, len(list1)):
num1 = str(list1[i])
num2 = str(list2[i])
if len(num1) <= 3 and len(num2) <= 3:
return num1 == num2
else:
return num1[-3:] == num2[-3:]
else:
return False
Если я запускаю его через это:
print("1.", corresponding_elements_have_same_end([3452, 43600, 10], [3111452, 600, 10]))
print("2.", corresponding_elements_have_same_end([452, 43600], [52, 600]))
print("3.", corresponding_elements_have_same_end([32, 43032], [32, 32]))
print("4.", corresponding_elements_have_same_end([32, 43132, 300], [32, 56132, 3300]))
Он печатает
- Истинной
- Ложных
- Истинной
- Правда
Когда он должен напечатать:
- Правда
- Ложные
- Ложные
- Правда
Вы должны рассмотреть возможность использования mod,%, вместо str. num # = list # [i]% 1000. –