Python 无法理解中断的区别和影响
我用Python编写了下面的代码来获取一个数的素数因子。它提供了正确的带break的输出,但不能不使用break语句。如果我不使用break,我无法理解为什么输出是这样的Python 无法理解中断的区别和影响,python,break,Python,Break,我用Python编写了下面的代码来获取一个数的素数因子。它提供了正确的带break的输出,但不能不使用break语句。如果我不使用break,我无法理解为什么输出是这样的 prime_list = [] def get_prime_factors(num): for i in range(2,num+1): if num%i == 0: prime_list.append(i) num = num // i
prime_list = []
def get_prime_factors(num):
for i in range(2,num+1):
if num%i == 0:
prime_list.append(i)
num = num // i
get_prime_factors(num)
**break**
else:
print(prime_list)
get_prime_factors(21)
#Output with break:
[3, 7]
#Output without break:
[3, 7]
[3, 7]
[3, 7, 7]
[3, 7, 7]
通过删除
中断
,每个递归调用都会命中其他
部分和打印
我很抱歉,但是其他
部分的意图没有任何意义。通过删除中断
,每个递归调用都会命中其他
部分和打印
我很抱歉,但是,else
部分的意图没有任何意义。