Q:

Why does it displays a None in the Output

I get a None for my output of the following code and I don't know why it is?
Can someone explain me why it is and how it can be fixed?
Here's the code, 
def randomQuestions():
        q1 = 1
        q2 = 2
        for i in range(1):
            if random.randint(1,2)==1:
                a1=int(input(print("Please Enter a Number that is not prime: ",end="")))
                if a1>1:
                    for i in range (2,a1):
                        if (a1%i)==0:
                            print("Correct",a1,"is Not a prime number")
                            break
                    else:
                        print("Incorrect",a1,"is a Prime number")
                else:
                    print("Incorrect",a1,"is a Prime number")
            else:
                a2=int(input(print("Please Enter a Number that is positive: ",end="")))
                if a2>0:
                    print("Correct",a2,"is Positive")
                elif a2==0:
                    print(a2,'Is neither Positive Nor Negative')
                else:
                    print('Incorrect',a2,'is Not Positive')
    randomQuestions()

Here's the output;
Please Enter a Number that is not prime: None

A:

input function already prints the message for input so you don't need a print function inside that. It displays None because print function returns None. Change
int(input(print("Please Enter a Number that is positive: ")))

to
int(input("Please Enter a Number that is positive: "))

Do that for the other input as well.
If you want the input to be entered on a new line, you can also do
int(input("Please Enter a Number that is positive: \n"))

