سامانه درخواست خودرو


از شما خواسته شده طبق توضیحات زیر یک سامانه درخواست خودرو پیاده‌سازی کنید. ابتدا فایل‌های اولیه را از این لینک دانلود کرده و محتوای آن را مطالعه فرمایید.

این سامانه ۲ هدف اصلی دارد:

  • ثبت درخواست برای خودرو
  • گزارش گیری از سامانه

ثبت درخواست برای خودرو🔗

۱. پیاده‌سازی تابع get_distance در کلاس RideRequest: در این تابع باید فاصله‌ی یک ماشین تا محلی که سفر درخواست داده شده را محاسبه کرده و برگردانید.

def get_distance(self, car)
Python
  • صفت location تاپلی به صورت (x, y) است.

۲. پیاده‌سازی تابع find_best_driver در کلاسRideService: مسافر، درخواستی برای خودرو با نوع (car_type) مشخص می‌کند، وظیفه‌ی شما پیدا کردن راننده‌ی آماده به کار (active) با نوع ماشین موردنظر است که حاصل تقسیم امتیاز راننده بر فاصله تا مکان درخواست سفر بیشتر باشد.

def find_best_driver(self, ride_request)
Python
  • تضمین می‌شود که فاصله تا مکان درخواست سفر صفر نیست.

گزارش گیری از سامانه🔗

حتما قبل شروع نوشتن کد، تذکرات انتهای سوال را بخوانید!

۱. ورودی کل شرکت (پولی که از طریق پرداخت وارد شرکت می‌شود)🔗

def total_company_income(payments)
Python

۲. کل مبلغ پرداخت شده توسط مشتری با ایمیل برابر با email🔗

def total_user_payment(payments, email)
Python

۳. راننده‌ با بیشترین تعداد سفر🔗

def driver_with_most_rides(rides):
Python
  • *اگر تعداد سفرها برابر بود به ترتیب حروف الفبا بر اساس نام خانوادگی راننده *

۴. لیست رانندگانی که حداقل یک ماشین با نوع car_type دارند.🔗

def get_drivers(cars, car_type)
Python
  • اگر راننده‌ای بیش از یک ماشین با نوع car_type داشت فقط یک بار در این لیست قرار می‌گیرد.
  • ترتیب رانندگان در این لیست اهمیت ندارد.

تذکرات:🔗

  • هریک از گزارش‌ها را باید در کلاس ReportService و در تابع مربوط به گزارش پیاده‌سازی کنید.
  • به نوع خروجی تابع توجه کنید
    • برای مثال اگر خروجی تابع راننده باشد منظور object راننده می‌باشد و نه اسم یا ایمیل راننده.

آنچه باید آپلود کنید🔗

  • پس از اعمال تغییرات، کل پروژه را Zip کرده و ارسال کنید.
  • نام فایل Zip اهمیت ندارد.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.