07_Python的操纵判定循环语句1(if推断for循环)_Python编制程序之路

图片 1

Python的数据类型在前几节大家都简单的相继介绍了,接下去大家就要讲到Python的决定判定循环语句

 

在具体编制程序中,我们再三要利用Computer帮我们做多量重新总结的劳作,在这么的意况下,需求机械能对某些条件进行推断,或是对有个别行为实行重新操作

那儿我们就无法不要明白什么去编写循环剖断语句

 

if… elif… else

if也正是如果的意趣,前面供给加一个肯定标准,假使评定典范为真,则施行if下的操作,假设为假则跳过操作

在旨在各种评定范例前面要增多冒号,且if上面的言语要专心缩进

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

 其余的涉嫌运算符如下

超过等于  >=

低于等于 <=  

 

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]

  

 

相关文章