нужно удалить все числа оканчивающиеся на 5 (например, 5, 15, 25 и тд)
def five(num):
num_list = list(range(1, num+1))
num_odds = []
for i in num_list:
if i % 2 != 0:
num_odds.append(i)
for j in num_odds:
if j*5 == i:
num_list.remove(i)
return num_list
print(five(17))
Метод заключается в том, что число, оканчивающееся на 5 это нечетное * 5. Мне нужно сделать, чтобы числа удалялись в диапазоне от num1 до num2. Код, где нет диапазона работает нормально, но при добавлении ничего не происходит:
def five(num1,num2):
num_list = list(range(num1, num2+1))
num_odds = []
for i in num_list:
if i % 2 != 0:
num_odds.append(i)
for j in num_odds:
if j*5 == i:
num_list.remove(i)
return num_list
print(five(4,17))
Ответы (2 шт):
Автор решения: Александр
→ Ссылка
Может так?
def function(array):
new_array = [integer for integer in array if not str(integer).endswith('5')]
return new_array
test_array = [25, 46, 5, 35, 97, 144, 255]
print(function(test_array))
Автор решения: alezhu
→ Ссылка
# simple
def five(start, end):
result = filter(lambda x: x % 10 == 5, range(start, end + 1))
return list(result)
# faster
def five2(start, end):
result = list()
value = start
while value <= end:
if value % 10 == 5:
result.append(value)
value += 10
else:
value += 1
return result