I know that you can use a z-table to find p-values given a z-score, however I am curious if you can calculate it without the z-table or a calculator. Is it possible? If so, how do you do it? I've tried searching, but the only thing that came up was a post on the Actuarial Outpost, and none of the answers really addressed the question.
Note: I am curious because I want to write a Python program that will do this, and writing an entire z-table, and then searching the table for a given value seems incredibly tedious and inefficient. I am aware that the scipy library can do this, however it seems kinda lazy, and on top of that I'm just curious.
edit: The answer was actually really simple, just take the integral of the normal distribution and approximating it. However, this doesn't seem satisfying or tangible enough for me, mostly because I can't convert it to code-form (sorry for the trouble by the way). Are there any other ways?
There is no other way. You need a numerical method - approximating the integral f the normal, or using a program in a library or a $z$-table - which in turn depend on numerical methods.