for i inrange(10): print(i) ptrint("---------------------") a = 0 for i inrange(0,100): a+=1 print("hello") print(a) ptrint("---------------------") for i inrange(10,20,2): print(i) ptrint("---------------------") for i inrange(20,2,-3): print(i)
练习1:打印100以内所有的偶数
1 2
for i inrange(0,100,2): print(i)
练习2:打印100-200中所有个位数是3的数
1 2 3
for i inrange(100,200): if i % 10 == 3: print(i)
练习3:打印所有的水仙花数
1 2 3
for i inrange(100,1000): if (i//100)**3+(i//10%10)**3+(i%10)**3 == i: print("水仙花数:",i)
练习4:统计100以内的偶数个数
1 2 3 4 5
count = 0 for i inrange(100): if i % 2 == 0: count+=1 print(count)
练习5:统计100以内能被3整除的偶数的个数
1 2 3 4 5
count = 0 for i inrange(100): if i % 6 == 0: count+=1 print(count)
练习6:计算1+2+3+….+100的和
1 2 3 4
sum = 0 for i inrange(101): sum += i print(sum)
练习7:计算所有水仙花数的和
1 2 3 4 5
sum = 0 for i inrange(100,1000): if (i//100)**3+(i//10%10)**3+(i%10)**3 == i: sum += i print(sum)
2.while 循环
2.1语法:
while 条件语句:
循环体
2.2说明:
2.2.1while - 关键字,固定写法
2.2.2条件语句 - 任何有结果的表达式
2.2.3循环体 - 重复执行的代码段
2.3规则:
2.3.1先判断条件,true执行循环体,执行完再次判断,
2.3.2如果为true再次执行,以此类推,直到条件不成立,循环结束
练习:使用while打印十个hello
1 2 3 4
num = 0 while num<10: print("hello") num += 1
2.4while 和 for的选择
2.4.1for循环:循环次数确定的时候使用
2.4.2while循环:循环次数不确定的时候使用
练习:提示用户不断输入内容,直到输入的数据是0停止
1 2 3
b = input("请输入:") while b !='0': b = input("请输入:")
3.循环关键字
3.1 continue 和 break
3.1.1 说明:只能出现在循环体中,for循环与while循环都可
3.1.2 continue - 结束一次循环/结束当次循环
如果遇到continue,当次循环结束,直接执行下一次循环
实例1
1 2 3 4
for i inrange(4): print('======') continue print('++++++')
实例2
1 2 3 4 5
for i inrange(10): if i == 5or i == 8: continue print(i)
3.1.3 break - 结束整个循环
如果遇到break,整个循环结束
实例1
1 2 3
for i inrange(10): print(i) break
实例2
1 2 3 4
for i inrange(10): if i == 5: break print(i)
实例3
1 2 3 4
whileTrue: value = input("请输入:") if value == '0': break
3.2 else关键字
说明:
for循环 for 变量 in 序列: 循环体 else: 代码段
while循环 while 条件语句: 循环体 else:
代码段
重点:else结构的存在不影响原来循环的执行
当循环正常结束时,继续执行else后面的代码段,否则不执行
实例1
1 2 3 4
for i inrange(4): print(i,"====") else: print("正常")
实例2
1 2 3 4 5 6
for i inrange(4): print(i,"====") if i == 2: break else: print("正常")
通过实例1和实例2的对比看else的作用,while相同
基础题
使用for和while循环输出 0~100内所有3的倍数。
for循环
1 2
for i inrange(0,100,3): print(i)
while循环
1 2 3 4 5
x = 0 while x<100: if x % 3 ==0: print(x) x+=1
使用for和while循环输出100~200内个位数或者十位数能被3整除的数。
for循环
1 2 3
for i inrange(100,200): if (i%10) % 3 ==0or (i//10%10) % 3 ==0: print(i)
while循环
1 2 3 4 5
x = 100 while x<200: if (x % 10) % 3 == 0or (x // 10 % 10) % 3 == 0: print(x) x+=1
统计100~200中十位数是5的数的个数
1 2 3 4 5
count = 0 for i inrange(100,200): if i//10%10 == 5: count+=1 print(count)
打印50~150中所有能被3整除但是不能被5整除的数
1 2 3
for i inrange(50,150): if i % 3 ==0and i % 5 !=0: print(i)
计算50~150中所有能被3整除但是不能被5整除的数的和
1 2 3 4 5
sum = 0 for i inrange(50,150): if i % 3 ==0and i % 5 !=0: sum+=i print(sum)
进阶题
使用循环计算1*2*3*4*...*10的结果。
1 2 3 4
k = 1 for i inrange(1,11): k*=i print(k)
统计100以内个位数是2并且能够被3整除的数的个数。
1 2 3 4 5
count = 0 for i inrange(100): if i % 10 == 2and i % 3 == 0: count+=1 print(count)
输入任意一个正整数,求他是几位数?
注意: 这儿不能使用字符串,只能用循环
1 2 3 4 5 6
b = int(input("请输入一个正整数:")) count = 0 while b>0: b //=10 count+=1 print("它是一个",count,"位数")