Cannot concatenate 'str' and 'int' objects - pomocy

0

Ostatnio zacząłem się uczyć Pythona (pierwszy język na codecademy.com, jednak nie jestem wstanie naprawić błędu w kodzie,

def hotel_cost(nights):
    return 140*nights

def plane_ride_cost(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):
    if days>=7:
        days = days*40-50
        return days
    elif days<7 and days >=3:
        days=days*40-20
        return days
    return days *40
def trip_cost(city,days):
    
    return city+days

Problem to : trip_cost('Charlotte', 6) raised an error: cannot concatenate 'str' and 'int' objects
Będę wdzięczny z odpowiedź

0

Python to nie PHP, tutaj typy muszą się zgadzać. Jeśli chcesz z liczby zrobić napis to musisz explicite zrobić str(liczba).

0

Czyli w każdym returnie powinienem zapisać return str(liczba)?

EDIT: To nie ma być napis (chyba), tylko liczba więc int(liczba) powinno chyba zadziałać, tylko nie wiem w gdzie to zapisać

0

Ty sobie robisz jaja o_O

return city+days

A widze jasno z kodu ze city to string a days to liczba.

1

Być możę dla ciebie, ja się zacząłem uczyć Pythona wczoraj...

0

Już poprawiłem, teraz zostało się ogarnąć jak dodać do tego nights :P
return plane_ride_cost(city) + rental_car_cost(days)

0

EDIT: Samemu dało mi się rozwiązać cały program, tracę wiarę w samego siebie jako programistę....

def hotel_cost(days):
    return 140*days

def plane_ride_cost(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):
    if days>=7:
        days = days*40-50
        return days
    elif days<7 and days >=3:
        days=days*40-20
        return days
    return days *40
def trip_cost(city,days):
    return plane_ride_cost(city) + rental_car_cost(days) + hotel_cost(days)
0

Jeszcze naucz się wrzucać kod na forum ;)

Program wygląda OK, czy jeszcze coś nie działa ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1