Effective python读书笔记——不用for(while)~else模块
#对于for else,正常循环完else会执行,有种and的感觉
#性质:
for x in []:
print('never run')
else:
print('for else block')
#空序列做循环,直接执行else
while False:
print('run?')
else:
print('no run')
#直接false退出循环,也会执行else
#判断两数是否互质:
a,b=4,9
for i in range(2,min(a,b)+1):
print(f'text {i}')
if a%i==0 and b%i==0:
print('not coprime')
break
else:
print('coprime')
#改变写法,不用不表示‘else’的for else用法
#辅助函数法
def comprime(a,b):
for i in range(2,min(a,b)+1):
if a%i==0 and b%i==0:
return False
return True
#变量记录法
def comprime_with_variate(a,b):
whether_comprime=True
for i in range(2,min(a,b)+1):
if a%i==0 and b%i==0:
whether_comprime=False
break
return whether_comprime
print(comprime(a,b))
print(comprime_with_variate(a,b))
