I'm new to python and want to make a program that generates Pi with the given decimal numbers. Problem is that I don't know how to check if the user has inputted a positive number.
This is the function that generates Pi (I don't know for sure how it works)
def PiBerekening(limiet): q = 1 r = 0 t = 1 k = 1 n = 3 l = 3 decimaal = limiet teller = 0 while teller != decimaal + 1: if 4 * q + r - t < n * t: # yield digit yield n # insert period after first digit if teller == 0: yield '.' # end if decimaal == teller: print('') break teller += 1 nr = 10 * (r - n * t) n = ((10 * (3 * q + r)) // t) - 10 * n q *= 10 r = nr else: nr = (2 * q + r) * l nn = (q * (7 * k) + 2 + (r * l)) // (t * l) q *= k t *= l l += 2 k += 1 n = nn r = nr And this is how I ask the user how many decimals he wants to see
while not verlaatloop: try: pi_cijfers = PiBerekening(int(input("With how many decimals would you like to calculate Pi?"))) assert pi_cijfer > 0 # This is one of the things I've tried but I get the "NameError: name 'pi_cijfer' is not defined" error and I don't know what to do to check if the inputted number is negative except ValueError: print("This isn't a valid number, try again") except AssertionError: print("This number is negative, try again") else: verlaatloop = True This is how I show the calculated Pi
for pi_cijfer in pi_cijfers: print(pi_cijfer, end='')