Зацикливание функций среднего уровня с помощью python

#python #loops

#python #циклы

Вопрос:

Итак, я попытался рассмотреть похожие вопросы и в своей книге, но не совсем соединил точки. У меня есть вычисления, но я не понимаю, как / где поместить функцию цикла, чтобы повторно ввести нового ученика с его оценками (кстати, 12 учеников).

Я попытался добавить цикл while в разных местах обозначено: <!!!>. Но я всегда получал другую ошибку.

 def loop():
    while newStudent =="y":
        newStudent=input("Another student? (Enter y for yes): ")
  
 name = input("Please enter name of student: ")

!!!

def scoreInput():


def calc_average(score1, score2, score3, score4, score5, score6, score7, score8):


def determine_grade(grade):


def results (score1, score2, score3, score4, score5, score6, score7, score8):



!!!

def main():
    score1, score2, score3, score4, score5, score6, score7, score8 = scoreInput()
    results (score1, score2, score3, score4, score5, score6, score7, score8)
    !!!

main()
  

Любой совет о том, где я ошибаюсь в этом, был бы оценен или, может быть, я просто не понимаю. Также небольшое объяснение этого было бы полезно для понимания. : D

Комментарии:

1. Если вы что-то пробовали и получили ошибку, опубликовать это и решить ее было бы намного проще, чем это. Можете ли вы внести эти изменения?

2. По моему мнению, все вызовы функций, которые вы хотите повторить, должны находиться в цикле while. Итак, если вы вызываете функцию loop внутри main, все остальные функции и инструкции должны находиться внутри loop функции в цикле while.

3. Прошу прощения, я перепробовал больше вариантов, чем упоминал, и просто потерял отслеживание ошибок, связанных с каким местоположением.

4. Итак, вы говорите, def loop(): while newStudents=»y»: \ Все функции \ newStudent=input(«Другой студент? (Введите y для yes): «) def main(): цикл () ????

5. Да, @Snake780. Вы правильно поняли.

Ответ №1:

Грубый псевдокод для решения вашей проблемы будет

В вводе кода (main) запустите цикл,

 def main():
    loop()
  

В loop функции есть рекурсия

 def loop():
    name = input("....")

    scores = score_input()
    show_results(scores)

    new_student = input("Another student? (Enter y for yes): ")
    if new_student == 'y':
        loop()
    else:
        print('Exiting')
  

Комментарии:

1. Извините, я опоздал с ответом. Итак, вы хотите сказать, что я убираю другие функции и просто создаю одну функцию цикла со всем внутри?

2. Нет. просто функция вызывает внутри функции цикла.

Ответ №2:

Итак … радости кодирования сводятся к разным дням тестирования этого. Но это было просто, как добавление

 for i in range(12):
  

На самом верху всего этого, чтобы заставить его работать 12 раз. Спасибо всем за вашу помощь!