python - 如何在 for 语句中使 work 成为一个函数?
问题描述
我在这个练习中遇到了问题。他们首先让我编写一个代码来检测一个数字是否是质数。这与这里的这段代码配合得很好:
def primo(n):
resultado = False
div = 2
while div**2 <= n:
if n == 1:
resultado = False
div+=1
if n%div == 0:
resultado = False
return resultado
div**2 > n
else:
resultado = True
div+=1
return(resultado)
在此之后,练习要求我编写一个 for 循环来检查 1 到 20 之间的任何数字是否是素数,所以我写道:
for n in range(1,21):
primo(n)
什么也没发生,这是为什么呢?
解决方案
primo
返回一个布尔值,指示该数字是否为素数,但您对该值不做任何事情,因此您永远看不到结果。你可能想要这样的东西:
for n in range(1, 21):
is_prime = primo(n)
print('{} is prime? {}'.format(n, is_prime))
推荐阅读
- android - 手机进入睡眠状态时Android应用程序停止进程
- php - phpMyAdmin 502 网关错误 [CentOS7, nginx]
- r - 重新安装后 RStudio 不再工作
- amazon-web-services - 在 jenkins 参数的下拉列表中动态填充分支
- arrays - 从数组中打印字符串
- javascript - 猫头鹰旋转木马不工作!初级网络开发人员
- jquery - 如何将 jquery-ui 与 nodejs 一起使用?
- python - 用 pandas 读取 xml 文件
- python - Django 搞乱了加载标签的顺序?
- pandas - Pandas Multi-index DataFrame:聚合组内的子组