使用python错误中的函数的素数

时间:2014-04-25 18:09:58

标签: python function

您好,我对Python比较陌生。下面的代码在python中从0到10生成一个随机数。然后解析另一个函数以确定它是否是素数,如果不是,则生成一个新数字并重复。谁能告诉我为什么它似乎不起作用?

代码:

import random
def gen ():
  x=random.randint(0,10)
  isprime (x)
  if isprime(x):
   return x
  else:
   gen()


def isprime (number):
 b = number - 1
 while True:
  if number > 1:
   if b == 1:
     return True
     break
   elif number % b == 0:
     return False
   b = b-1
  else:
   return False

g = gen()
g

1 个答案:

答案 0 :(得分:1)

您需要递归返回gen调用中的答案,如

def gen ():
  x=random.randint(0,10)
  isprime (x)
  if isprime(x):
   return x
  else:
   return gen()

此外,您可能希望确保使用一致的缩进或Python解释器可能会抱怨它。