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

标签 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

最佳答案

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

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

此外,您可能需要确保使用一致的缩进,否则 Python 解释器可能会提示它。

关于python - python中使用函数的素数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300119/

相关文章:

C++ 重新声明不一致/有趣

c - C 中是否有可能有一个函数将这两个结构作为参数?

c++ - 从指向数组的函数返回指针时出错

json - 从内部循环返回 JSON 数据

javascript - 从数组中过滤掉特定值

python - 从 API REST Django 和 Angular 检索数据

python - 从 python 的日志记录器中删除处理程序

python - 在 Django 中获取和显示相关对象

python - ValueError : Error when checking model target: expected convolution2d_2 to have shape (None, 26, 26, 64) 但得到形状为 (250, 227, 227, 1) 的数组

python - Pandas SettingWithCopyWarning