今天,在论坛看到一个有趣的if 循环,我感觉有不错,就分享出来
问题,列表只有6个数,为什么打印8个数?原理?
1 q = ['a', 'b', 'c', 'd', 'e', 'f'] 2 for i in q: 3 if i == 'b': 4 print( '1') 5 if i == 'd': 6 print( '2') 7 if i == 'e': 8 print( '3') 9 else: 10 print('0')
解题思路
打印增加i,判断循环到哪里多循环了
1 q = ['a', 'b', 'c', 'd', 'e', 'f'] 2 for i in q: 3 if i == 'b': 4 print(i + '1') 5 if i == 'd': 6 print(i + '2') 7 if i == 'e': 8 print(i + '3') 9 else: 10 print(i + '0')
为什么只有6个数,却打印8个数?
因为 当i = b是,打印1,但程序没有打断,所以当i = b时,跳到下一个if循环,但i不等于b,打印0,所以当循环到b时,打印两次
当然,把if 循环改为elif就不会了
1 q = ['a', 'b', 'c', 'd', 'e', 'f'] 2 for i in q: 3 if i == 'b': 4 print(i + '1') 5 elif i == 'd': 6 print(i + '2') 7 elif i == 'e': 8 print(i + '3') 9 else: 10 print(i + '0')
小白分享,如有什么说错的,麻烦告知,谢谢,大佬勿喷啊!