07_Python的控制判断循环语句1(if判断for循环)_Python编程之路

Python的数据类型在前几节咱们都简单的一一介绍了,接下来咱们就要讲到Python的控制判断循环语句java

 

在现实编程中,咱们每每要利用计算机帮咱们作大量重复计算的工做,在这样的状况下,须要机器能对某个条件进行判断,或是对某个行为进行重复操做python

这时咱们就必需要知道如何去编写循环判断语句算法

 

if... elif... else

if也就是若是的意思,后面须要加一个判断条件,若是判断条件为真,则执行if下的操做,若是为假则跳过操做编程

注意在每一个判断条件后面要加上冒号,且if下面的语句要注意缩进bash

In [1]: num = 20

In [2]: if num > 10:
   ...:     print("条件成立")
   ...:     
条件成立

  

tips:“ = ”  和 “ == ”的区别:通常的一个等号表明的是赋值,在循环中只能用来和对象名进行比较,“ == ”双等号能够直接用来与值进行比较,例如数字,和字符串函数

例如对象

In [3]: name = "susmote"  

In [4]: if name == "susmote":
   ...:     print("名字是susmote")
   ...:     
名字是susmote

In [5]: if name = "susmote":         #若是不用“==”比较值,则会报语法错误
   ...:     print("名字是susmote")
   ...:     
  File "<ipython-input-5-06510f3ebd56>", line 1
    if name = "susmote":
            ^
SyntaxError: invalid syntax

 其余的关系运算符以下blog

大于等于  >=排序

小于等于 <=  索引

 

elif在其余语言中叫 “ else if ”,python简化了这个表达式,elif通常是用来判断多个表达式的,也就是说在一个判断语句中能够有多elif,这个也有点相似于其余语言的switch case,固然也要加上else

In [8]: num = 20

In [9]: if num > 20:
   ...:     print("num大于20")
   ...: elif num == 20:
   ...:     print("num等于20")
   ...: elif num < 20:
   ...:     print("num小于20")
   ...:       
num等于20

  

else下面的执行语句只有当前面的条件都不知足时,才会执行,else在一个判断语句中也是可选的,但为了程序能更清晰的运行,建议仍是都加上

一个完整的if,, elif ... else语句

num = input("请输入一个不大于5的数:  ")
num = int(num)
if num == 0:
        print("这个数字是0")
elif num == 1:
        print("这个数字是1")
elif num == 2:
        print("这个数字是2")
elif num == 3:
        print("这个数字是3")
elif num == 4:
        print("这个数字是4")
elif num == 5:
        print("这个数字是5")
else :
        print("你输入的数不符合要求")

  运行结果

[root@localhost ~]# python3 a.py 
请输入一个不大于5的数:  3
这个数字是3
[root@localhost ~]# python3 a.py 
请输入一个不大于5的数:  14
你输入的数不符合要求

 

while

while循环的正肯定义是 while()   括号里面须要加一个判断条件,若是里面的判断为真,则一直执行下面的语句,知道while的判断条件为假才跳出循环

In [1]: num = 10

In [2]: while(num > 0 ):
   ...:     print(num)
   ...:     num -= 1
   ...:     
10
9
8
7
6
5
4
3
2
1

  

 

固然若是条件一直为真则造成死循环,里边的语句一直会执行,通常程序仍是尽可能不要出现死循环,死循环很耗系统资源

在这里讲一下条件判断中经常使用的布尔类型:

布尔类型只有真和假两个值,True or Flase

通常全部的字符串都表明真,数字中只有0是表明假 false

In [15]: while(0):
    ...:     print("条件为假,什么都不作")
    ...:     

  

for

for循环在其余语言中,如C,java,只能经过数字进行循环迭代,Python中你能够对任意有顺序的数据进行for循环获取值,如列表和字符串

python中for循环的语句结构    for  item in sequence       item表明获取到的每一个值,sequence表明可循环的数据,列表或字符串

例如

In [16]: info = ["susmote", "18", "13488888888"]

In [17]: for item in info:
    ...:     print(item)
    ...:     
susmote
18
13488888888

  

 

若是是操做一个列表的话,你还能够对他进行其余的改变,如经过for循环对列表内元素进行排序(最原始的办法,一个个判断)

In [28]: for i in num:
    ...:     if i < num[0]:
    ...:         num.remove(i)
    ...:         num.insert(0, i)
    ...:     elif i < num[1]:
    ...:         num.remove(i)
    ...:         num.insert(1,i)
    ...:     elif i < num[2]:
    ...:         num.remove(i)
    ...:         num.insert(2, i)
    ...:     elif i < num[3]:
    ...:         num.remove(i)
    ...:         num.insert(3, i)
    ...:     elif i < num[4]:
    ...:         num.remove(i)
    ...:         num.insert(4,i)
    ...:         

In [29]: num
Out[29]: [1, 3, 5, 6, 7, 9]

  后续在讲排序算法

 

range()

若是你须要重复的生成一组有规律的数字,这时你就须要用到range函数了,他可以生成递进的数字

例如与for循环结合

In [34]: for i in range(5):
    ...:     print(i)
    ...:     
0
1
2
3
4

  默认是从0开始迭代生成的

range能够传三个参数  range( a, b ,c )        a表明开始的数字,b表明结束的数字,c表明增量(可为负数)

调用range方法时只传一个参数,a默认为0, b则是你传入的参数,c默认为1

调用range方法时传两个参数,a就是第一个参数,b是后面一个参数,c默认为1,  记住包头不包尾

例如

In [42]: for i in range(2, 6):
    ...:     print(i)
    ...:     
2
3
4
5

In [43]: for i in range(2, 10, 2):
    ...:     print(i)
    ...:     
2
4
6
8

  

固然也能够为负数

In [44]: for i in range(-10, -80, -10):
    ...:     print(i)
    ...:     
-10
-20
-30
-40
-50
-60
-70

  

对于一个列表,你还能够遍历他的索引,获取值

In [45]: weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunda
    ...: y"]

In [46]: for i in range(len(weekdays)):
    ...:     print(i, weekdays[i])
    ...:     
0 Monday
1 Tuesday
2 Wednesday
3 Thursday
4 Friday
5 Saturday
6 Sunday

  

通常咱们在进行上述操做时,为了更方便,咱们都是使用 enumerate()方法的,他能直接迭代生成索引,这个以后再讲

range()返回的值不是一个列表,只是一个对象,咱们把这种对象叫作可迭代对象

咱们不只可以经过for循环输出对象迭代的值,还能直接经过 list() 直接生成列表

In [47]: print(range(10))
range(0, 10)

In [48]: list(range(10))
Out[48]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
相关文章
相关标签/搜索