6.1课程习题精讲与Python列表

紧接上一节:
程序控制易错点总结:

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。