How is that checker configured?
It might be doing something like this:
import student_module
student_module.main()
and because you’re already invoking main
as the module is imported, it’s getting stuck the second time around. Maybe add some indicative print
at the entrypoint to your main function.
Another reply in here has supplied the standard idiom for making a module executable:
if __name__ == "__main__":
main()
You sound angry. Take a breath and grow up.