Python 素因子程序

Python 素因子程序,python,prime-factoring,Python,Prime Factoring,问题 这是我试图解决的问题 13195的主要因素是5,7,13,29。数字600851475143中最大的素因子是什么 我一直收到一个无效的语法错误,从下到第四行,它不喜欢我的+=运算符这一行: new_num = num/x += 1 应分成两行: x += 1 new_num = num/x python中的语句x+=1不返回任何内容,因此不能将其用作表达式的一部分 同样,以下两个实例: return prim_num.append(x) 也不起作用,因为:prime_num.appe

问题 这是我试图解决的问题

13195的主要因素是5,7,13,29。数字600851475143中最大的素因子是什么

我一直收到一个无效的语法错误,从下到第四行,它不喜欢我的+=运算符

这一行:

new_num = num/x += 1
应分成两行:

x += 1
new_num = num/x
python中的语句x+=1不返回任何内容,因此不能将其用作表达式的一部分

同样,以下两个实例:

return prim_num.append(x)
也不起作用,因为:prime_num.appendx语句不返回任何内容。 您需要将其分为:

prime_num.append(x)
return prime_num

num/x+=1这两个变量不是返回原语吗?在这里的一个场景中,+=会工作吗?为什么不仅仅是num/x+1?您的代码有多个缺陷。首先是将str类型与int类型分开。
prime_num.append(x)
return prime_num
num=int(input("Please enter number to calculate prime factor"))    
k=0    
item=[]    
if(num%2==0):    
  prime=2    
  item.insert(k,prime)    
  k=k+1    

j=3    
flag=int(num/2)    
while(j<flag and num>2):    
  if num%j==0:    
    prime=j
    item.insert(k,prime)
    k=k+1
    num=num/j
    j=j+2
  else:
    j=j+2

if k==0:    
  print("sorry no prime factor for this number")    
else:    
  print("Please find the largest prime factor below")
  print(item.pop())