四、python逻辑控制(while 与 for 循环)

一、while 循环

while循环的简单理解就是当一个条件满足时就去执行一段代码,执行后继续判断这个条件是否还继续满足,如果继续满足则继续执行这段代码,这就是简单的循环控制语句。

 

语法:

while 条件 :

  执行的代码

  (执行的代码中往往会增加一个对条件的补充或迭代,如果每次执行代码循环的条件都不改变,则会成为死循环。)

 

示例:

#定义变量n等于1
n = 1

#当 n 小于9 的时候,执行下面的代码。
while n < 9:

#打印变量n
    print(n)

#打印之后,变量n 加 1
    n = n + 1

打印结果:

练习题

求 1-2+3-4+5...99 所有数的和(值)

#定义变量n等于1
n = 1
#设最后结果为sum
sum = 0
#循环100次以内,因为是1~99的算术值。
while n < 100:
    #判断对2取余的值,0为偶数,1为奇数
    num=n%2
    #值是0位偶数,如题2和4前面是减号,所以要减掉偶数变量。
    if num == 0:
        sum = sum-n
    #不是0就是1,所以直接用else即可,使用加奇数
    else:
        sum = sum+n
    #每循环一次,自加1
    n = n + 1
#最终打印和
print(sum)

打印结果

 

二、for 循环

 

方法1、for (变量名) in (字符串)

与linux shell 脚本里的 for i in 循环方式几乎一致。会把字符串或获取到的内容,作为每一次循环的依据执行到结束。

有所区别的是,shell 的for i in 会把空格,换行符作为循环的依据,如果是一长串字符串,没有换行和空格,则只循环一次。

python 则会循环每一个具体的字符串。

#for i in xxx变量或字符串 :
#    print(i)

string = "陈司是大帅哥"
for i in string:
  print(i)

运行结果:

 方法2、 利用range 方法for循环,for i in range(0,100)。

range 的方法和 linux 的seq()方法几乎是一模一样的。就是生成一串连续的数字。比如range(0,100) 就是生成0到99的所有数字。

range(0,100,5)可以指定0到100之间的步长,也就是每次相差5个数。这种方式适合进行指定长度的for循环。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author chensi

v1 = range(0,20,5)
v2 = range(0,3)
for i in v1:
    print(i)
print("^^^^分隔符^^^^")
for i in v2:
    print(i)
print(v1,v2)

打印结果如图所示,但是最后直接打印V1,V2的时候,会发现结果和for循环打印出的不一样。这是因为python3.0 以后对range方法进行了运行优化,只有放在for 循环里,才会分配内存,并打印每一个字符。淡打印变量,并不会分配内存,所以打印出的效果就是这样的。

 

posted @ 2019-08-16 14:35  陈司  阅读(1075)  评论(0编辑  收藏  举报