【发布时间】:2015-10-17 20:20:26
【问题描述】:
我正在尝试在 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,")")
【问题讨论】:
标签: python