紧接上一节:
程序控制易错点总结:
1. 搞清楚for循环的玩法:
一个一个函数积累:慢慢攻克函数;
for倒序打印;
for i in range(10,0,-1): #都要反顺序;
print(i)
----------------------------------------------------------------------------------------
10
9
8
7
6
5
4
3
2
1
2. continue、break;只影响所在的一层循环,是循环控制语句,与if分支无关;
continue 中断当前循环的当次执行;只影响一次循环,;
break 打破、跳出当前循环;
for i in range(10):
if i&1:
continue
print(i)
--------------------------------------------------------------------------------------------------
0
2
4
6
8
# 计算1000以内的被7整除的前20个数字(for循环)
3.单线程不会出现大于的情况; 多线程会出现大于的情况;
count=0
for i in range(0,1000,7):
print(i)
count+=1
if count>=20:
break #跳出本次循环;
-------------------------------------------------------------------------------------
0
7
14
21
28
35
42
4.添加flag标签玩法;
flag=10
while flag:
print(flag)
flag-=1
练习1:给定一个不超过5位的正整数,判断该数的位数;一次打印出个位、十位、百位、千位、万位的数字;
#思路1:先判断几位,再判断每一位是多少;
val=int(input('>>>'))
if val > 999:
if val<10000:
n=val
m=4
print(str(val)+"是一个4位数")
for i in range(1,m+1):
print("它的第{}位数字是{}".format(i,val%10))
val=val//10
elif val<100000:
n=val
m=5
print(str(val)+"是一个5位数")
for i in range(1,m+1):
print("它的第{}位数字是{}".format(i,val%10))
val=val//10
else:
print(str(val)+"是一个不符合要求的数据!请重新输入")
elif val>99:
n=val
m=3
print(str(val)+"是一个3位数")
for i in range(1,m+1):
print("它的第{}位数字是{}".format(i,val%10))
val=val//10
elif val>9:
n=val
m=2
print(str(val)+"是一个2位数")
for i in range(1,m+1):
print("它的第{}位数字是{}".format(i,val%10))
val=val//10
else:
print("{}是一个1位数,它的个位数字是{}".format(val,val))
---------------------------------------------------------------------
>>>42344
42344是一个5位数
它的第1位数字是4
它的第2位数字是4
它的第3位数字是3
它的第4位数字是2
它的第5位数字是4