All problems

Revenue by Rider City

mediumPythonMergeGroupBy

UrbanHop's finance lead wants to see which cities are actually driving revenue, based on where each rider is from (not the driver). The same report gets pointed at the cancellations too — fares the platform never collected are worth knowing city by city, and they are not spread evenly — so which kind of ride to count is a setting on the report rather than a fixed rule.

Riders

id name city signup_date
1 Maya Chen Austin 2023-01-05
2 Noah Patel Denver 2023-02-14
3 Zara Ahmed Austin 2023-03-01
4 Leo Kim Seattle 2023-04-20
5 Ivy Brooks Denver 2023-05-11

Rides

id rider_id driver_id distance_km fare ride_date status
1 1 1 5.2 12.5 2023-06-01 completed
2 1 2 3 8 2023-06-03 completed
3 2 2 10 22 2023-06-02 completed
4 3 1 2.1 6.5 2023-06-05 cancelled
5 3 4 4.4 11 2023-06-06 completed
6 4 3 7.8 18 2023-06-04 completed
7 5 2 1.5 5 2023-06-07 cancelled
8 2 2 12.3 26.5 2023-06-10 completed
9 1 1 6.6 15 2023-06-12 completed
10 4 3 3.3 9 2023-06-15 completed
11 5 2 8.8 19.5 2023-06-18 completed
12 3 1 2.9 7.5 2023-06-20 cancelled

Input

Both tables above are already built for you — the rider and ride rows are not read from input. What does arrive is a single line holding the ride status finance wants counted this time.

Task: Counting only rides whose status is exactly the one that arrives, print a dict mapping each rider's city → the total fare from riders in that city. A city with no ride at that status does not appear at all, and a status that none of the rides carry gives an empty dict rather than an error.

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…