Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Imagine a gas station that offers a rewards card program. When a customer buys gas, he or she is rewarded with rewards points that can

Imagine a gas station that offers a rewards card program. When a customer buys gas, he or she is rewarded with rewards points that can be used to purchase other goods.

Write a function gas reward() that takes the following arguments, in this order:

current points: the current rewards points (an integer) on the customers gas rewards card

gas type: the type of gasoline purchased (a string), which is one of the following:

Regular: $2.65 / gallon Plus: $2.90 / gallon Premium: $3.10 / gallon

money spent: the amount of dollars spent on gas for a particular transaction. This number is needed to compute how many gallons of gas were purchased.

As previously mentioned, after each gas refill, the customer gets a certain amount of rewards points. The function calculates and returns the updated, new total rewards points of the customer. The rewards rules are as follows:

Normally,5pointsarerewardedforeveryfulldollarspent.Forexample,$6.83spentwillresultin56=30 new reward points. Hint: given a floating-point variable x, the code int(x) will truncate x, thereby giving only the integer part of x: integer part = int(x).

If at least 10 gallons of gas were purchased, the customer will be rewarded 200 reward points

If at least 15 gallons of gas were purchased, the customer will be rewarded 400 reward points

If at least 20 gallons of gas were purchased, the customer will be rewarded 550 reward points

Note: Only one of the above rules can be applied per transaction. For example, if a customer bought 16 gallons of gas, he/she will get 400 and only 400 reward points. Rule 1 is applied for purchases of less than 10 gallons.

Special Cases: Below are some special cases that the function must handle. Your code should check for these special cases in this order:

If money spent is less than one dollar, this is considered an invalid transaction, and the function returns current points.

If current points is less than 0, this is considered a faulty account, and the function returns error (a string).

If gas type is not one of the three kinds provided, this means its not available, and the function returns unavailable (a string).

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions