Мне просто было интересно, может ли кто-нибудь помочь мне с этой проблемой. В настоящее время я разрабатываю программу подсчета очков для турнира колледжа в рамках моего школьного проекта.
Прямо сейчас у меня есть главное меню в одном файле .py, но у меня есть функция регистрации студента в другом файле .py. До сих пор мне удавалось вызывать функцию в программе главного меню и работать так, как я ожидал. Однако одна вещь, которую я испытал, заключалась в том, что функция просто зацикливалась без остановок и не останавливалась.
Из-за этого я вызвал функцию главного меню в конце функции регистрации студента. Это работает, поскольку позволяет вам зарегистрировать ученика (чье имя затем добавляется в текстовый файл), а затем отправляет вас обратно в главное меню, чтобы пользователь мог выбрать другое действие.
Если я затем попытаюсь снова ввести 1, он выдаст длинный список трассировки и, наконец, ошибку:
ModuleNotFoundError: No module named 'Function_1_reg_student.py';
'Function_1_reg_student' is not a package.
Как мне заставить мою программу позволить мне зарегистрировать студента, возможно, спросить пользователя, хотят ли они зарегистрировать другого студента или вернуться в главное меню, если пользователь говорит «нет»?
Прошу прощения, если это не имеет смысла, я очень новичок в этом, и мне довольно сложно объяснить мою ситуацию и то, что я хотел бы сделать!
Ниже оба моих файла:
Главное_меню.py:
def main_menu():
print(""" Welcome to the main menu.
| (1.) Register a student|
| (2.) Score a student |
| (3.) Leaderboard |
| (4.) Quit |
""")
while True:
answer=input("Please enter a number between 1-4: ")
if answer=="1":
from Function_1_reg_student.py import reg_solo
continue
elif answer=="2":
print ("Call function 2")
continue
elif answer=="3":
print ("Call function 3")
continue
elif answer=="4":
print ("Quit")
continue
else:
print("ERROR MESSAGE: Please enter in a number from 1 to 4")
continue
main_menu()
Функция
ModuleNotFoundError: No module named 'Function_1_reg_student.py';
'Function_1_reg_student' is not a package.
reg_student.py:
def reg_solo():
while True:
studentname=input("Please enter student name ")
studentsurname=input("Please enter surname ")
print("Name: "+studentname+" "+studentsurname)
text_file=open("solo_students_reg.txt","a")
text_file.write(studentname+":"+studentsurname+":"+"0"+":"+studentname[:3]+ studentsurname[:3]+":"+"\n")
text_file.close()
print(studentname+" "+studentsurname+" has been registered")
from MAIN_MENU.py import main_menu
reg_solo()