Python if语句循环语句
Posted -小楼听风雨-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python if语句循环语句相关的知识,希望对你有一定的参考价值。
Python if 语句
Python if 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
if语句的一般形式
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
- 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
- 如果 "condition_1" 为False,将判断 "condition_2"
- 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
- 如果 "condition_2" 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
- 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
- 在Python中没有switch – case语句。
实例
以下是一个简单的 if 实例:
#!/usr/bin/env python # -*- coding: utf-8 -*- age = int(input("请输入你家狗狗的年龄: ")) print("") if age < 0: print("你是在逗我吧!") elif age == 1: print("相当于 14 岁的人。") elif age == 2: print("相当于 22 岁的人。") elif age > 2: human = 22 + (age -2)*5 print("对应人类年龄: ", human) ### 退出提示 input("点击 enter 键退出")
将以上脚本保存在dog.py文件中,并执行该脚本:
$ python dog.py 请输入你家狗狗的年龄: 1 相当于 14 岁的人。 点击 enter 键退出
以下为if中常用的操作运算符:
操作符 | 描述 |
---|---|
< |
小于 |
<= |
小于或等于 |
> |
大于 |
>= |
大于或等于 |
== |
等于,比较对象是否相等 |
!= |
不等于 |
if 嵌套
在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句
实例
#!/usr/bin/env python # -*- coding: utf-8 -*- num=int(input("输入一个数字:")) if num%2==0: if num%3==0: print ("你输入的数字可以整除 2 和 3") else: print ("你输入的数字可以整除 2,但不能整除 3") else: if num%3==0: print ("你输入的数字可以整除 3,但不能整除 2") else: print ("你输入的数字不能整除 2 和 3")
将以上程序保存到 test_if.py 文件中,执行后输出结果为:
$ python test.py 输入一个数字:6 你输入的数字可以整除 2 和 3
Python 循环语句
Python中的循环语句有 for 和 while。
while 循环
Python中while语句的一般形式:
while 判断条件: 语句
实例
#!/usr/bin/env python # -*- coding: utf-8 -*- n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和为: %d" % (n,sum))
执行结果如下:
1 到 100 之和为: 5050
无限循环
我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- var = 1 while var == 1 : # 表达式永远为 true num = int(input("输入一个数字 :")) print ("你输入的数字是: ", num) print ("Good bye!")
执行以上脚本,输出结果如下:
输入一个数字 :5 你输入的数字是: 5 输入一个数字 :
你可以使用 CTRL+C 来退出当前的无限循环。
while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块:
#!/usr/bin/env python # -*- coding: utf-8 -*- count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5")
执行以上脚本,输出结果如下:
0 小于 5 1 小于 5 2 小于 5 3 小于 5 4 小于 5 5 大于或等于 5
for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下: for <variable> in <sequence>: <statements> else: <statements>
实例:
>>>languages = ["C", "C++", "Perl", "Python"] >>> for x in languages: ... print (x) ... C C++ Perl Python >>>
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
>>>a = [\'Google\', \'Baidu\', \'Taobao\', \'QQ\'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Taobao 3 QQ >>>
break和continue语句及循环中的else子句
continue # 在循环的某一次执行中,如果遇到continue, 那么跳过这一次执行,进行下一次的操作
break # 停止执行整个循环
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- for letter in \'Runoob\': # 第一个实例 if letter == \'b\': break print (\'当前字母为 :\', letter) var = 10 # 第二个实例 while var > 0: print (\'当期变量值为 :\', var) var = var -1 if var == 5: break print ("Good bye!")
执行以上脚本输出结果为:
当前字母为 : R 当前字母为 : u 当前字母为 : n 当前字母为 : o 当前字母为 : o 当期变量值为 : 10 当期变量值为 : 9 当期变量值为 : 8 当期变量值为 : 7 当期变量值为 : 6 Good bye!
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
#!/usr/bin/env python # -*- coding: utf-8 -*- for letter in \'Runoob\': # 第一个实例 if letter == \'o\': # 字母为 o 时跳过输出 continue print (\'当前字母 :\', letter) var = 10 # 第二个实例 while var > 0: var = var -1 if var == 5: # 变量为 5 时跳过输出 continue print (\'当前变量值 :\', var) print ("Good bye!")
执行以上脚本输出结果为:
当前字母 : R 当前字母 : u 当前字母 : n 当前字母 : b 当前变量值 : 9 当前变量值 : 8 当前变量值 : 7 当前变量值 : 6 当前变量值 : 4 当前变量值 : 3 当前变量值 : 2 当前变量值 : 1 当前变量值 : 0 Good bye!
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
如下实例用于查询质数的循环例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, \'等于\', x, \'*\', n//x) break else: # 循环中没有找到元素 print(n, \' 是质数\')
执行以上脚本输出结果为:
2 是质数 3 是质数 4 等于 2 * 2 5 是质数 6 等于 2 * 3 7 是质数 8 等于 2 * 4 9 等于 3 * 3
以上是关于Python if语句循环语句的主要内容,如果未能解决你的问题,请参考以下文章