Python的for语句有点特别,只能对序列和字符串进行处理,序列自然包括list、tuple和range对象。
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # 练习for语句
-
-
- def loop_for():
- names = ['Tom', 'Jack', 'Black']
- for name in names:
- print(name)
-
- s = 'abc'
- for c in s:
- print(c)
-
- for n in range(3):
- print(n)
-
- for n in range(0, 10, 3):
- print(n)
-
-
- def main():
- loop_for()
-
-
- if __name__ == '__main__':
- main()
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # 练习for语句
-
-
- def loop_for():
- names = ['Tom', 'Jack', 'Black']
- for name in names:
- print(name)
-
- s = 'abc'
- for c in s:
- print(c)
-
- for n in range(3):
- print(n)
-
- for n in range(0, 10, 3):
- print(n)
-
-
- def loop_continue():
- for num in range(2, 10):
- if num % 2 == 0:
- print('Found an even number:', num)
- continue
- print('Found an odd number:', num)
-
-
- def loop_break_else():
- for n in range(2, 10):
- for x in range(2, n):
- if n % x == 0:
- print(n, 'equals', x, '*', n//x)
- break
- else:
- print(n, 'is a prime number')
-
-
- def main():
- loop_for()
- loop_continue()
- loop_break_else()
-
-
- if __name__ == '__main__':
- main()
continue语句让执行流程直接跳到for循环下一步,break语句直接从for循环终止,而else比较有意思,是当for循环不是break终止而结束的,则流程会执行到else代码块。
其它语言是没有for-else的,要实现这个else非得加一个布尔变量来判断,Python搞了一点语法糖,让开发人员稍微方便了一点。
while后面是一个表达式,只要结果能成为布尔值就行。
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # 练习while循环
-
-
- def main():
- n = 10
- while True:
- print('n=', n)
- n -= 1
- if n <= 0:
- break
-
- i = 0
- while i < 5:
- print('i=', i)
- i += 1
-
-
- if __name__ == '__main__':
- main()
while一般两种常见用法:一种是直接while True,结束循环的控制条件全部放到while执行体;另一种就是while 【条件表达式】, 不满足条件时退出循环。
Python循环控制语法提供了for和while,基本和C/C++/Java差不多,但是细节上有区别,比如for循环对序列对象进行迭代,for循环支持else,这个是特有的。