Your answer was very close, but you have an indent error which was causing all odds to appear prime. Note the return True line has been moved back 1 indent. You were only testing the first 'i' in range(2, num+1) and returning True if it was not divisible by 2.
def isPrime(num):
if num == 2:
return True
for i in range(2, num):
if num%i==0:
return False
return True
for i in range(1, 20):
if isPrime(i + 1):
print(i + 1, end=" ")
print()
Another small error was testing from [2, num] inclusive. num % num == 0 will always be True and so it will think 4 % 4 is prime. You need to test [2, num-1]. (actually you only really need to test [2, int(sqrt(num) + 1] I believe.)
Output:
2
3
5
7
11
13
17
19
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…