Loading...
stefanbabukov avatar stefanbabukov -3 Точки

8 *Стипендии - последната задача от Упражнение: Условни конструкции - Programming Basics with Python - април 2019

Здравейте, колеги
Имам лек проблем със задача 8. *Стипендии. В джъджа ми дава 93% Не можах да разбера къде е проблема. Ще кача моето решение, може ли някой по-знаеш да открие защо ми дава 93%? Благодаря :)

8. *Стипендии
Учениците могат да кандидатстват за социална стипендия или за стипендия за отличен успех. Изискване за
социална стипендия - доход на член от семейството по-малък от минималната работна заплата и успех над
4.5. Размер на социалната стипендия - 35% от минималната работна заплата. Изискване за стипендия за
отличен успех - успех над 5.5, включително. Размер на стипендията за отличен успех - успехът на ученика,
умножен по коефициент 25.
Напишете програма, която при въведени доход, успех и минимална работна заплата, дава информация дали
ученик има право да получава стипендия, и стойността на стипендията, която е по-висока за него.
Вход
Потребителят въвежда 3 числа, по едно на ред:
1. Доход в лева - реално число;
2. Среден успех - реално числсо;
3. Минимална работна заплата – реално число.
Изход
 Ако ученикът няма право да получава стипендия, се извежда:
"You cannot get a scholarship!"

 Ако ученикът има право да получава само социална стипендия:
"You get a Social scholarship {стойност на стипендия} BGN"

 Ако ученикът има право да получава само стипендия за отличен успех:
"You get a scholarship for excellent results {стойност на стипендията} BGN"

 Ако ученикът има право да получава и двата типа стипендии, ще получи по-голямата по сума, а ако
са равни ще получи тази за отличен успех.
Резултатът се закръгля до по-малкото цяло число.

 

 

import math
dohot = float(input())
sr_uspeh = float(input())
mrz = float(input())

soc_stip = math.floor(mrz * 0.35)
uspeh_stip = math.floor(sr_uspeh * 25)

if dohot < mrz and sr_uspeh > 4.50 and sr_uspeh < 5.50:
    print(f'You get a Social scholarship {soc_stip} BGN')
elif dohot > mrz and sr_uspeh >= 5.50:
    print(f'You get a scholarship for excellent results {uspeh_stip} BGN')
elif dohot < mrz and sr_uspeh >= 5.50:
    if soc_stip > uspeh_stip:
        print(f'You get a Social scholarship {soc_stip} BGN')
    elif soc_stip < uspeh_stip:
        print(f'You get a scholarship for excellent results {uspeh_stip} BGN')
    elif soc_stip == uspeh_stip:
        print(f'You get a scholarship for excellent results {uspeh_stip} BGN')

else:
    print('You cannot get a scholarship!')

 

0
Programming Basics with Python 30/04/2019 14:04:14
stefanbabukov:
проблема се реши
krum_43 avatar krum_43 756 Точки

Може би нещо призакръглянето на soz_stip?

Защо използваш math.floor?

В условието никъде не е казано изрично да закръгляш наляво или надясно.

Пробвай с Math.Round.

 

0
stefanbabukov avatar stefanbabukov -3 Точки

Намерхме проблема, бях изпуснал едно "равно" ето тук:

elif dohot >= mrz and sr_uspeh >= 5.50:
1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.