Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 19, 2016 17:07:44

aleks14
Зарегистрирован: 2016-04-08
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибки

изначально был вот такой код

  def compare_lists(a, b):
	if len(a) != len(b):
		return false
	for i in range(a):
		if a(i) != b(i):
			return False
	return True
print(compare([1,2], [1,2])
print(compare([1,2], [1,3])
print(compare([2,2], [1,2])
я нашел не все ошибки и исправил до вот такова.
 def compare_lists(a, b):
    if len(a) == len(b):
        return False
    for i in range(len(a)):
                if a(i) != b(i):
                    return False
print(compare_lists([1,2],[1,2]))
print(compare_lists([1,2], [1,3]))
print(compare_lists([2,2], [1,2]))
мне интерпретатор выодит
False
False
False
Я так понимаю цикл фор не отрабатывается в функции.помогите найти и исправить ошибку

Офлайн

#2 Окт. 19, 2016 17:14:54

aleks14
Зарегистрирован: 2016-04-08
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибки

и вот по этой задаче так же нада найти ошибки. если можно с кратким описанием

 import math
def costable(t):
	ct = []
	for a in t:
		ct.append(cos(a))
            return ct
print(costable([0.0, 1.0, 2.0, 3.0]))

Офлайн

#3 Окт. 19, 2016 17:16:04

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

помогите найти ошибки

Все правильно. Для всех вызовов длины списков равны. Поэтому функция сразу возвращает False.

Т.е. это строка всегда вернет True

 #
len([1, 2]) == len([2, 3])

Офлайн

#4 Окт. 19, 2016 17:18:00

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

помогите найти ошибки

По второй еще проще.
return обрывает выполнение функции. И дальше код не выполняет.
В Вашем случае проблемы с отступом и возвращается ct после первой итерации с одним значением…

Офлайн

#5 Окт. 19, 2016 17:23:04

aleks14
Зарегистрирован: 2016-04-08
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибки

4kpt_IV
Все правильно. Для всех вызовов длины списков равны. Поэтому функция сразу возвращает False.Т.е. это строка всегда вернет True
а цикл for как то задействован?

Офлайн

#6 Окт. 19, 2016 17:23:35

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

помогите найти ошибки

Нет. return обрывает функцию.

Офлайн

#7 Окт. 19, 2016 17:29:08

aleks14
Зарегистрирован: 2016-04-08
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибки

4kpt_IV
Нет. return обрывает функцию.
а не могли бы поправить код?
не могу понять где ошибься

Офлайн

#8 Окт. 19, 2016 18:39:43

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

помогите найти ошибки

Я не знаю, что этот код должен делать, поэтому поправить его, естественно, не могу…

Офлайн

#9 Окт. 19, 2016 19:55:05

aleks14
Зарегистрирован: 2016-04-08
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите найти ошибки

 1. def compare_lists(a, b):
	if len(a) != len(b):
		return false
	for i in range(a):
		if a(i) != b(i):
			return False
	return True
print(compare([1,2], [1,2])
print(compare([1,2], [1,3])
print(compare([2,2], [1,2])
2.
import math
def costable(t):
	ct = []
	for a in t:
		ct.append(cos(a))
	return ct
print(costable=([0.0, 1.0, 2.0, 3.0]))
Вот изначально что было.нужно просто найти ошибки в этих 2 программах и исправить их,отступы ковычки.скобки. и тд

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version