197k views
0 votes
python A pet shop wants to give a discount to its clients if they buy one or more pets. The discount is equal to 20 percent of the cost of the other items, but not the pets. Implement a function def discount(prices, isPet, nItems) The function receives information about a particular sale. For the ith item, prices[i] is the price before any discount, and isPet[i] is true if the item is a pet. Write a program that prompts a cashier to enter each price and then a Y for a pet or N for another item. Use a price of –1 as a sentinel. Save the inputs in a list. Call the function that you implemented, and display the discount.

1 Answer

5 votes

Answer:

The following are the program in the Python Programming Language.

#define function

def discount(prices, isPet, nItems):

# declare and initialize variables to 0

i = 0

cost = 0

pets = 0

item = 0

item_Cost = 0

#set the while loop

while(i < nItems):

#check the items of the variable

if isPet[i]:

#add and initialize in the cost

cost += prices[i]

#increament in the variable by 1

pets += 1

#otherwise

else:

#add and initialize in the item_Cost

item_Cost += prices[i]

#increament in the variable by 1

item += 1

#then increment in the variable by 1

i += 1

#check the pet is greater than equal to 1

#and item is greater than equal to 5

if(pets >= 1 and item >=5):

#then, print the message

print("You receive discount")

#set discount of the items

discount = 0.2 * item_Cost

# calculate bill after deducting discount

bill = cost + item_Cost - discount

#print the bill

print("Final Bill amount is", bill)

#otherwise

else:

#print the message

print("You do not receive any discount")

#calculate bill without deducting discount

bill = cost + item_Cost

#print the final bill

print("Final Bill amount is", bill)

#set empty list type variables

price = []

pet = []

#set the infinite loop

while True:

#get input from the user

sprice = int(input("Enter the price (-1 to quit): "))

#check that price is not equal to the -1

if(sprice != -1):

#add price in the list

price.append(sprice)

#ask for choice from the user

choice = input("Is it a pet (Y / N)? ")

#check the choice of the user is y or Y

if(choice == 'Y' or choice == 'y'):

# then, add in the pet

pet.append(True)

#otherwise

else:

#not add in the pet

pet.append(False)

print("")

#break the loop

else:

break

#declare variable that store the length

items = len(price)

#call and initialize the variable

discount(price, pet, items)

Output:

Enter the price (-1 to quit): 96

Is it a pet (Y / N)? y

Enter the price (-1 to quit): 69

Is it a pet (Y / N)? n

Enter the price (-1 to quit): 41

Is it a pet (Y / N)? n

Enter the price (-1 to quit): 52

Is it a pet (Y / N)? n

Enter the price (-1 to quit): 96

Is it a pet (Y / N)? n

Enter the price (-1 to quit): 74

Is it a pet (Y / N)? n

Enter the price (-1 to quit): -1

You receive discount

Final Bill amount is 361.6

Step-by-step explanation:

The following are the description of the program.

  • Firstly, define the function 'discount()' and pass the arguments 'prices', 'isPet' and 'nItems' in its parameter.
  • Then, declare and initialize the variables 'i' to 0, 'item_Cost' to 0
  • , item to 0, 'cost' to 0 and 'pets' to 0.
  • Then, set the while loop to add the price of the items and the cost of the pets.
  • Set the if-else conditional statement to check the pet is greater than equal to 1 and the items are greater than equal to 5 then, set the discount and print the bill after deduction.
  • Otherwise, print the bill without deduction.
  • Finally, set two list type variable then, set the infinite while loop that gets input from the user and check that the variable is not equal to -1 then append the data in the list then again check the user input then append in pet otherwise not append in pet and break the loop. Then, set the variable that stores the length of the price and call the following function by passing arguments in its parameter.
User Dimodi
by
4.7k points