30/09/2018, 23:18

Mọi người cho hỏi lỗi gì đây? trip_cost(city,days) trong Python

def hotel_cost(nights):
    hotel_cost=140
    return 140*nights
def plane_ride_cost(city):
    if city=="Charlotte":
        return 183
    if city=="Tampa":
        return 220
    if city=="Pittsburgh":
        return 222
    else:
        return 475
plane_ride_cost("Tampa")

def rental_car_cost(days):
    total=40*days
    if days>=7:
        total = total -50
        return total
    elif days>=3:
        total= total-20
        return total
    else:
        return total
print rental_car_cost(1)

def trip_cost(city,days):
    city="Tampa"
    days=4
    nights=6
    return plane_ride_cost(city)+rental_car_cost(days)+hotel_cost(nights)
    print trip_cost("Tampa",4,6)
    
 ====>   error: Oops, try again. trip_cost('Pittsburgh', 9) returned 1200 instead of the correct value 1792

Mọi người cho hỏi lỗi gì đây?

Khoa NTA viết 01:18 ngày 01/10/2018

Theo tình hình ban đầu thì khi khai báo hàm trip_cost() thiếu argument nights (lúc bạn gọi hàm trip_cost thì có tới 3 arguments) và bạn set luôn giá trị cho days = 4nights = 6 trong hàm (nên xóa 2 dòng này). Lỗi này theo như vốn tiếng của mình có được thì là giá trị nhập vào city = 'Pittsburgh' , days = 9 không trả về đúng kết quả chính xác (1792). Nói chung là hàm trip_cost không ổn, và bạn xem lại các số liệu tính toán luôn nha.
P/s: Lần sau post bài bạn nhớ nói luôn mục đích của code hay bạn đọc hoặc tham khảo từ chỗ nào để mọi người tiện theo dõi.

Dũng viết 01:26 ngày 01/10/2018

vâng, em cảm ơn. Em đã sửa được rồi.

Bài liên quan
0