Python循环语句

程序开发的三大流程: 顺序 、 分支 、 循环

while 循环的基本使用

1
2
3
4
5
6
     while 条件:        # 和if语句类似,条件可以用小括号括起来,注意冒号
          ...             # while语句以及缩进部分是一个完整代码
...
...
...
        处理条件(计数器+1)

break 和 continue

  • 和 C语言一样。

while 循环嵌套

  • 和if 类似,可与for循环相互嵌套

    1
    2
    3
    4
         while expression1:
    while expression2:
    statement(s2)
            statement(s1)
  • 例子: 求100以内的素数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    i=2;
    while (i<=100):
    x=2;
    f=1;
    while (x*x<=i):
    if(i%x==0):
    f=0;
    break;
    x+=1;
    if(f): print(i,end=' ') # end默认以空行结尾,这里修改end为空格,每输出一个就带一个空格
       i+=1;

关于print函数输出结尾问题

  • 如果不希望末尾增加换行,可以再print函数输出内容的后面增加 ,end=””
  • 其中 “” 中间可以指定print函数输出内容之后,继续希望显示的内容
  • 在控制台输出一个制表符 ‘\t’,协助在输出文本时 垂直方向 保持对齐

Python for 循环语句

  • 完整的for循环语法
    1
    2
    3
    4
    for 变量 in 集合:
    ...
    else:
        #没有用break跳出循环,上述循环结束会执行的代码
几个例子
  • 遍历字符串:

    1
    2
    3
    4
    5
    6
    7
    8
    name = 'I love lyq'
    length=len(name); # 取字符串长度
    for letter in name:
    print(letter,end="")
    if(letter==name[length-1]):
    print("")
    else:
           print(end="");
  • 通过序列索引迭代

1
2
3
4
5
6
7
8
#!/usr/bin/python
# -*- coding: UTF-8 -*-

fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)): # range() 返回一个序列的数。
print '当前水果 :', fruits[index]

print "Good bye!"
  • 打印 1 - 100 之间的素数
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for index1 in range(2,100):
    flag=1
    for index2 in range(2,index1):
    if(index2*index2>index1): break; # 把判断语句写在循环体内部
    if(index1%index2==0):
    flag=0
    break
    if(flag==1):
           print(index1,end=" ")