Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 25, 2014 20:05:55

Hellios
Зарегистрирован: 2014-08-12
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача (Codecademy)

Братцы, застрял на Codecademy
Выдает “File ”python“, line 8 SyntaxError: ‘return’ outside function”
Это про “return 183”. Вообще не понимаю, что он хочет от меня. Вроде пишут, что этот блок ушел в бесконечную рекурсию, но чесговоря не могу понять как именно.


def hotel_cost(nights):
    return 140 * nights
def plane_ride_cost(city):
    return plane_ride_cost(city)
cost = raw_input('Направление:')
if city == 'Charlotte':
    return 183
elif city == 'Tampa':
    return 220
elif city == 'Pittsburgh':
    return 222
elif city == 'Los Angeles':
    return 475
else:
    return "Направление выбрано неправильно!"
  
def rental_car_cost(days):
    rental_car_cost = 40 * days
if days >= 7:
    rental_car_cost = rental_car_cost - 50
elif days >= 3:
    rental_car_cost = rental_car_cost - 20    
return rental_car_cost
    
def trip_cost(city, days):
    return rental_car_cost(days) + hotel_cost(nights) + plane_ride_cost(city)

Офлайн

#2 Окт. 25, 2014 20:27:28

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Задача (Codecademy)

Hellios,

def plane_ride_cost(city):
    return plane_ride_cost(city)
функция бесконечно возвращает вызов самой себя? мда…

+ return'ы вне функции, а должен быть вызов функции с аргументом 183, 220, …

да и пользуйся подсказками на сайте кодакадеми, ибо эти задачи - цветочки) скоро будет веселее

Отредактировано bs0d (Окт. 25, 2014 20:28:41)

Офлайн

#3 Окт. 25, 2014 20:35:00

Hellios
Зарегистрирован: 2014-08-12
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача (Codecademy)

спасибо!

вот этот код приняли

def hotel_cost(nights):
    return 140*nights
def plane_ride_cost(city):
    cost = raw_input('What city:')
    if city == 'Charlotte':
        return 183
    elif city == 'Tampa':
        return 220
    elif city == 'Pittsburgh':
        return 222
    elif city == 'Los Angeles':
        return 475
      
def rental_car_cost(days):
    rental_car_cost = 40 * days
    if days >= 7:
        rental_car_cost = rental_car_cost - 50
    elif days >= 3:
        rental_car_cost = rental_car_cost - 20    
    return rental_car_cost
def trip_cost(city, days):
    return rental_car_cost(days) + hotel_cost(days) + plane_ride_cost(city)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version