python - 添加到列表(识别输入是否为素数)
问题描述
尝试编写函数“prime_check(number)”来测试参数是否为质数
给定数字的 number_of_factors 只能是 1(给定数字本身)和 '1',这已在 while 语句中排除
将变量添加到列表“set_of_factors”时遇到问题尝试在 Thonny 中进行调试,显示 set_of_factors = none
def prime_checker(number):
set_of_factors=[]
number_of_factors=len(set_of_factors)
f=2
while number > 1 and f<=number:
if number%f == 0:
set_of_factors.insert(0,1)
f+=1
else:
f+=1
if number_of_factors==1:
print("It is a prime number")
else:
print("It is not a prime number")
n = int(input("Check this number: "))
prime_checker(number=n)
解决方案
素数有两个因素,一个和它本身。前任。5 的因数是 (1, 5)
如果“.insert”也可以使用“.append”
def prime_checker(number):
set_of_factors=[]
number_of_factors=len(set_of_factors)
f=2
while number > 1 and f<=number:
if number%f == 0:
set_of_factors.insert(0)
f+=1
else:
f+=1
if number_of_factors==2:
print("It is a prime number")
else:
print("It is not a prime number")
推荐阅读
- javascript - 如果 userAgent 是 GoogleBot,我想执行一个函数
- sbt - SBT:描述相对于另一个(传递)依赖的外部依赖?
- javascript - PptxGenjs writeFile() 在 IE11 中不起作用
- spring - 没有指定实体的 Spring Data Repository
- ios - DYLD,未找到依赖 dylib '@rpath/AppAuth.framework/AppAuth'
- typescript - Visual Studio Code Prettier Extension 无法为 TypeScript 正确格式化引号
- android - 从其他片段添加新的 RecyclerView 项
- java - 如何更改我的正则表达式以拒绝下划线
- windows - BAT 文件中的“输入行太长”错误
- android - Android:将数据从 RecyclerView 传递到另一个 Activity