如果要计算1+2+3,我们可以直接写表达式:
i=1+2+3
print(i)
但是如果要计算1+2+3+...+10000,直接写表达式就不太可能了。
为了简单的表达成千上网次重复计算,我们需要使用循环语句。
For 循环:
fruits = ['apple','banana','pear','peach','orange']
for fruit in fruits
print(fruit)
执行这段代码,会依次打印fruits的每一个元素,所以for x in ...循环就是把每个元素带人变量x,然后执行缩进块的语句。
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
不过列表从1写到10比较繁琐,Python提供了range()函数来生成整数序列,再通过list()函数可以转换为列表。
sum = 0
for x in list(range(1,11)):
sum = sum + x
print(sum)
注:range函数中从第一个参数开始算,但最后一个数不算入序列。
嵌套循环
使用嵌套循环实现打印九九乘法表:
for i in range(1,10):
for j in range(1,10):
print('{} X {} = {}'.format(i,j,i*j))
While循环
for循环会在可迭代的序列被穷尽的时候停止,while循环着是在条件不成立的时候停止,换言之:如果...条件成立,就一直重复做...。
语法:
while condition:
do something
最简单的例子:
while 1 < 3:
print('1 小于 3')
这里要注意了,因为条件1<3是永远成立的,所以程序执行后会不停地打印'1小于3'。
如果我们需要写出的程序循环到一定的次数就停止,可以这样写:
count = 0
while count <= 5:
print('Repeat this line!')
count = count + 1
用while计算1到100的总和:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print('1到 %d 之和为:%d'%(n,sum))