我试图在python中将一个函数简化为一个根下的整数。例如:蟒蛇,平方根简化函数
- √(27)= 3√(3)
- √(567)= 9√(7)
我写了下面的功能,但它的工作部分,因为我认为while循环无效。 请帮忙吗?
def sqrt2(num):
numbers=[]
roots=[]
#i=1-11
while num>1:
for i in range(1,num+1):
if num%i==0:
num=num//i
if num%i==0:
num=num//i
numbers.append(i)
else:
roots.append(i)
break
result=1
for i in numbers:
result= result*i
u_root=1
for j in roots:
u_root=u_root*j
print (result,"sqrt (",u_root,")")
取得什么代码,但它门槛并没有得到所有分频器。如果出现4次,它跳过一个数字。 – lilezek
它不应该。如果你跳出'for'循环,它将会以'I'为'1'的方式重新开始,然后重新计数到再次匹配的'i'值。这可能不是非常有效,但它会起作用。 – Blckknght
啊,还有一个bug,其中'1'被认为是除数。跳过1并从2开始可避免无限循环。 – Blckknght