【有书共读01】《python学习手册》读书笔记四~五

Python 循环语句

因为原书中的内容实在是太多了.循环语句在13章才讲.前面讲了大量的历史.运行环境.特点等等...我这里只写语法与使用部分.不是按照书上来的.图片说明
这目录......
这里介绍while循环与for循环

while:可以认为是当...
与c中的while循环用法基本一致.

while 判断条件:#注意冒号
    执行语句1……
    执行语句2……
    执行语句3……

判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
需要注意的是下面这个:
也可以使用while...else
在循环条件为 false 时执行 else 语句块:

count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

输出结果为:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5

类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中

flag = 1
while (flag): print 'Given flag is really true!'

九九乘法表样例:

i = 1
while i:
    j = 1
    while j:
        print j, "*", i, " = ", i * j, '  ',
        if i == j:
            break
        j += 1
        if j >= 10:
            break
    print "\n"
    i += 1
    if i >= 10:
        break

输出结果:

/Users/rain/PycharmProjects/untitled/venv/bin/python /Users/rain/Library/Preferences/PyCharm2018.1/scratches/scratch.py
1 * 1  =  1    
1 * 2  =  2    2 * 2  =  4    
1 * 3  =  3    2 * 3  =  6    3 * 3  =  9    
1 * 4  =  4    2 * 4  =  8    3 * 4  =  12    4 * 4  =  16    
1 * 5  =  5    2 * 5  =  10    3 * 5  =  15    4 * 5  =  20    5 * 5  =  25    
1 * 6  =  6    2 * 6  =  12    3 * 6  =  18    4 * 6  =  24    5 * 6  =  30    6 * 6  =  36    
1 * 7  =  7    2 * 7  =  14    3 * 7  =  21    4 * 7  =  28    5 * 7  =  35    6 * 7  =  42    7 * 7  =  49    
1 * 8  =  8    2 * 8  =  16    3 * 8  =  24    4 * 8  =  32    5 * 8  =  40    6 * 8  =  48    7 * 8  =  56    8 * 8  =  64    
1 * 9  =  9    2 * 9  =  18    3 * 9  =  27    4 * 9  =  36    5 * 9  =  45    6 * 9  =  54    7 * 9  =  63    8 * 9  =  72    9 * 9  =  81    
Process finished with exit code 0

for:
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法格式:

for iterating_var in sequence:
   statements(s)

举个栗子:

for a in "python":
    print a
for b in ["apple","banana","guagua"]:
    print b

输出结果:

/Users/rain/PycharmProjects/untitled/venv/bin/python /Users/rain/Library/Preferences/PyCharm2018.1/scratches/scratch.py
p
y
t
h
o
n
apple
banana
guagua
Process finished with exit code 0

另外一种执行循环的遍历方式是通过索引:

str="python"
for a in range(len(str)):
    print str[a]
    print a
t=["apple","banana","guagua"]
for b in range(len(t)):
    print t[b]

输出结果:

/Users/rain/PycharmProjects/untitled/venv/bin/python /Users/rain/Library/Preferences/PyCharm2018.1/scratches/scratch.py
p
0
y
1
t
2
h
3
o
4
n
5
apple
banana
guagua
Process finished with exit code 0

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

 -*- coding: UTF-8 -*-
for num in range(10,20):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print '%d 等于 %d * %d' % (num,i,j)
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print num, '是一个质数'

break与continue:
学习c的时候,是这样理解的:
continue:跳过当前一轮循环
break:结束当前循环(break所在的 循环的大括号)
python中用法也类似,只不过python中没有大括号的使用.用缩进来替代了.

str="python"
t=["apple","banana","guagua"]
for a in range(len(str)):
print str[a]
for b in range(len(t)):
print t[b]
if(b==1):
break

python中还有一个特殊的pass语句:
pass语句..不做任何事情...不太理解它存在的意义..
说是为了用做占位语句和保持结构的完整.

下一次该写迭代器相关了.其实前面已经提到很多迭代器相关的东西了.只是没有系统的去写.慢慢来吧

#笔记##读书笔记#
全部评论

相关推荐

永远年轻_永远热泪盈眶:有一个漏了,没打码
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客企业服务