Софтуерно Инженерство
Loading...
IrenaRy avatar IrenaRy 5 Точки

Train the Trainers (Nested Loops excercise) - помощ за кода

Здравейте, опитах да реша задачата, и на конзолата тръгва добре в началото... подавам брой членове на жури, подавам презентация, после подавам оценки и смята дотук добре. Когато обаче опитам да подам следващото име на презентация, подам следващите оценки очаква с едно подаване повече. На конзолата например нещата изглеждат така:

2
while
6.00
5.50
while -  5.75
for
5.84
5.66
5.00
5.84 -  5.33
nested
4.00
3.00
2.00
4.00 -  2.50

Престава да приема имената на презентациите след първия път, а приема първото число за име и после намира средното от следващите числа.

Ето го кода. Не се тревожете за форматирането и смятането сега надолу, но ще съм много благодарна, ако някой обясни горния проблем. Благодаря

jury_numbers = int( input() )
sum_grades = 0
total_grades = 0
presentation_counter = 0

while True:
    name_presentation = input()
    presentation_counter += 1
    for i in range(jury_numbers):
        grade = float(input())
        sum_grades += grade
        average_grade_per_presentation = sum_grades / jury_numbers
        total_grades += average_grade_per_presentation
    print( f'{name_presentation} - {average_grade_per_presentation: .2f}' )
    sum_grades = 0

    name_presentation = input()
    if name_presentation == 'Finish':
        print(f"Student's final assessment is {total_grades/presentation_counter: .2f}")

 

Тагове:
0
NKKalev avatar NKKalev 10 Точки

Ето и малко по-различно решение.

 

jury_count = int(input())
command = input()
total_average = 0
presentations_count = 0

while command != 'Finish':

    presentations_count += 1
    current_assessment_sum = 0

    for person in range(jury_count):
        current_assessment = float(input())
        current_assessment_sum += current_assessment

    current_average = current_assessment_sum / jury_count

    print(f'{command} - {current_average:.2f}.')

    total_average += current_average

    command = input()

average_assessment = total_average / presentations_count

print(f"Student's final assessment is {average_assessment:.2f}.")

 

Поздрави :)

0