例1 求2+4+6+8+···+n<100成立的最大的n值
法1
#求2+4+6+8+···+n<100成立的最大的n值
sum = 0
i = 0
while sum<100:
i+=2
n=i
sum = sum +i
print(n-2)
注:因为最后一次循环是加到18之后还<100,所以还要再执行一次循环,也就是18+2=20,所以最后要减去2,输出18
法2
#求2+4+6+8+···+n<100成立的最大的n值
sum=0
i=2
while True:
sum=sum+i
if sum>=100:
break
else:
i+=2
print(i-2)
例2 求200以内能被17整除的所有正整数
法1
#求200以内能被17整除的所有正整数
for i in range(1,200,1):
if i%17!=0:
continue
print(i)
注:①continue语句只能出现在循环语句的循环体中。
②continue语句往往与if语句联用。
③若执行while语句中的continue语句,则跳过循环体中continue语句后面的语句,直接转去判别下次循环控制条件;若continue语句出现在for语句中,则执行continue语句就是跳过循环体中continue语句后面的语句,转而执行for语句的表达式。
法2
for i in range(1,200,1):
if i%17==0:
print(i)
例3 判断输入的数是不是质数
法1
#判断输入的数是不是质数
b=int(input('输入'))
a=b//2
while a>1:
if b%a==0:
print('b不是素数')
break
a=a-1
else:
print('b是素数')
法2
#判断输入的数是不是质数
a=int(input('输入'))
for i in range(2,a):
if a%i==0:
print('不是素数')
break
else:
print('是素数')
break