05. Fishing Boat - Python
Здравейте имам проблем със тази задача. Дава ми 60 / 100 и не мога да разбера защо.
group_budget = int(input())
season = input()
fishermans = int(input())
spring_price = 3000
summer_price = 4200
autumn_price = 4200
winter_price = 2600
additional_discount = 0.00
trip_price = 0.00
if season != 'Autumn' and fishermans % 2 == 0:
additional_discount = 0.05
if fishermans <= 6:
additional_discount += 0.10
elif 7 <= fishermans <= 11:
additional_discount += 0.15
elif fishermans >= 12:
additional_discount += 0.25
if season == 'Summer' or season == 'Autumn':
trip_price = summer_price - (summer_price * additional_discount)
elif season == 'Spring':
trip_price = spring_price - (spring_price * additional_discount)
elif season == 'Winter':
trip_price = winter_price - (winter_price * additional_discount)
if group_budget >= trip_price:
print(f'Yes! You have {group_budget - trip_price:.2f} leva left.')
else:
print(f'Not enough money! You need {trip_price - group_budget:.2f} leva.')
Видях във форума, че има много решения, но се опитвам да разбера какво не е наред на моето?
Благодаря
Ааа да :) Допълнителната отстъпка е процент от вече намалената цена, а не от първоначалната.
Благодаря.
Аз го реших така:
budget = int(input())
season = str(input())
number_of_fisherman = int(input())
ship_rent = 0
if season == "Spring":
ship_rent = 3000
if 0< number_of_fisherman <= 6:
ship_rent = ship_rent - (ship_rent * 0.1)
elif 7 < number_of_fisherman <= 11:
ship_rent = ship_rent - (ship_rent * 0.15)
elif number_of_fisherman >12:
ship_rent = ship_rent - (ship_rent * 0.25)
elif season == "Summer" or season == "Autumn":
ship_rent = 4200
if 0< number_of_fisherman <= 6:
ship_rent = ship_rent - (ship_rent * 0.1)
elif 7 < number_of_fisherman <= 11:
ship_rent = ship_rent - (ship_rent * 0.15)
elif number_of_fisherman >12:
ship_rent = ship_rent - (ship_rent * 0.25)
elif season == "Winter":
ship_rent = 2600
if 0< number_of_fisherman <= 6:
ship_rent = ship_rent - (ship_rent * 0.1)
elif 7 < number_of_fisherman <= 11:
ship_rent = ship_rent - (ship_rent * 0.15)
elif number_of_fisherman >12:
ship_rent = ship_rent - (ship_rent * 0.25)
if number_of_fisherman %2 == 0 and season != "Autumn":
ship_rent = ship_rent - (ship_rent * 0.05)
if budget - ship_rent >= 0:
print(f'Yes! You have {budget - ship_rent :.2f} leva left.')
else: print(f'Not enough money! You need {abs(ship_rent - budget):.2f} leva.')
Имайте предвид, че на тая задача условието е малко подвеждащо. Говори се за "рибари"..."Тони и приятели"... съответно аз се подведох, че рибарите трябва да са поне двама. Това не е така. Бройката рибари трябва да е повече от 0. Т.е. минимум един-иначе куп проерки не излизат.