Найти - Пользователи
Полная версия: Фунуция
Начало » Python для новичков » Фунуция
1
anderson
Здравствуйте!
Не могу решить задачу
Дан массив, в котором среди прочих элементов есть слово “odd” (нечетный).
Определите, есть ли в списке число, которое является индексом элемента “odd”.
Напишите функцию, которая будет возвращать True или False, соответсвенно.
“even”,10,“odd”,2,“even”

Написал свое решение, где я здесь ошибся? Помогите пожалуйста
def odd_bal(args):
def get_mul(x):
if isinstance(x, int):
return x
for i in args:
if get_mul(i)==args.index(“odd”):
return True
else:
return False

есть конечно другое решение
def odd_bal(args):
args.index(“odd”) in args

но мне не понятно почему в первом случае у меня получается неверный ответ?
@cckyi_boxxx
во-первых на форумы код надо выкладывать под теги
 [code python][/code]

тогда будет все выглядкть вот так:

 lol = ['even',10,'odd',2,'even']
def odd_bal(args):
    def get_mul(x):
        if isinstance(x, int):
            return x
    for i in args:
        if get_mul(i)==args.index('odd'):
            return True
        else:
            return False
print(odd_bal(lol))

что-же до вашего вопроса - все просто, у вас на первой-же итерации вылетает return False и выкидывает вас из функции не закончив цикл
скормите этой функции вот такой список и выдаст труъ
 lol = [2,'even','odd',10,'even']

и еще кое что, как вы ваще умудрились этот код запустить, он должен был выдать ошибку из-за обратных кавычек, питонычу нужны обычные одинарные или двойные!
FishHook
@cckyi_boxxx
и еще кое что, как вы ваще умудрились этот код запустить, он должен был выдать ошибку из-за обратных кавычек, питонычу нужны обычные одинарные или двойные!
Это форумный движок делает, mr anderson тут не виноват
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB