Loading...
NKKalev avatar NKKalev 10 Точки

Scholarship - Conditional Statements Excercise

Здравейте,

 

Кодът по-долу ми дава грешки в Джъдж:

 

import math

income = float(input())
average_grades = float(input())
min_salary = float(input())

social_scholarship_bool = False
excelent_scholarship_bool = False

if income < min_salary and average_grades > 4.50:
    social_scholarship_bool = True
    social_scholarship = min_salary * 0.35

if average_grades >= 5.50:
    excelent_scholarship_bool = True
    excelent_scholarship = average_grades * 25

if social_scholarship_bool and excelent_scholarship_bool:
    if social_scholarship_bool > excelent_scholarship_bool:
        print(f'You get a Social scholarship {math.floor(social_scholarship)} BGN')
    else:
        print(f'You get a scholarship for excellent results {math.floor(excelent_scholarship)}')
elif social_scholarship_bool:
    print(f'You get a Social scholarship {math.floor(social_scholarship)} BGN')
elif excelent_scholarship_bool:
    print(f'You get a scholarship for excellent results {math.floor(excelent_scholarship)}')
else:
    print(f'You cannot get a scholarship!')

 

 

Може ли малко разяснения?

 

Благодаря!

0
Programming Basics with Python 15/09/2019 20:59:56
mark79 avatar mark79 639 Точки
Best Answer

Здравей,

В твоя код има неща, за които дори и компилатора ти се кара, но не си им обърнал внимание. Не е лошо да се опитваш да съкратиш колкото се може проверките, защото така става трудно за четене.

Малко набързо, но ако имаш желание може да погледнеш това решение.

import math

profit = float(input())
average_grade = float(input())
salary = float(input())

grade_scholarship = 0
social_scholarship = 0

if average_grade >= 5.5:
    grade_scholarship = average_grade * 25

if average_grade > 4.5 and profit < salary:
    social_scholarship = salary * 0.35

if grade_scholarship == 0 and social_scholarship == 0:
    print("You cannot get a scholarship!")
elif grade_scholarship >= social_scholarship:
    grade_scholarship = math.floor(grade_scholarship)
    print(f"You get a scholarship for excellent results {grade_scholarship:.0f} BGN")
else:
    social_scholarship = math.floor(social_scholarship)
    print(f"You get a Social scholarship {social_scholarship:.0f} BGN")

Поздрави :)

0
15/09/2019 22:30:36
NKKalev avatar NKKalev 10 Точки

Да, това определно е доста по-разбираемо. Благодаря!

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