python选择结构/循环结构
条件语句
语法
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
Python 程序语言指定任何非 0 和非空(null)值为 True,0 或者 null 为 False。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
其中 '判断条件' 成立时(非零),则执行后面的语句,而执行内容可以有许多行,以缩进来区分不同层级。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
三元运算的语法
我们从一个具体的例子切入本节内容。假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用 if ... else ... 语句,例如:
if a > b:
max = a
else:
max = b
但是 Python 提供了一种更加简洁的写法,如下所示:
max = a if a > b else b
这是一种类似于其它编程语言中三目运算符 ? : 的写法。
Python 是一种极简主义的编程语言,它没有引入 ? : 这个新的运算符,而是使用已有的 if ... else ... 关键字来实现相同的功能。
使用 if ... else ... 实现三目运算符(条件运算符)的格式如下:
exp1 if contion else exp2
condition 是判断条件,exp1 和 exp2 是两个表达式:
1.如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;
2.如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。
前面的语句 max = a if a > b else b 的含义是:
1.如果 a > b 成立,就把 a 作为整个表达式的值,并赋给变量 max;
2.如果 a > b 不成立,就把 b 作为整个表达式的值,并赋给变量 max。
三元运算的嵌套
Python 三元运算支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意 if 和 else 的配对,例如:
a if a > b else c if c > d else d
应该理解为:
a if a > b else (c if c > d else d)
while 循环
语法
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,从而处理需要重复处理的相同任务,直到不满足给定条件时,才会结束循环。语法格式如下:
while expression:
statement(s)
编程代码构造后按相同数量的字符空间(空格,即 ' ')缩进的所有语句,均被视为单个代码块的一部分。Python 使用缩进作为分组语句的方法。
在 while 循环中使用 else 语句。正如上面所讨论的,while 循环执行块,直到一个条件得到满足。当条件变为 false 时,循环后面的语句就会被执行。
类似于条件判断语句 if else, 只有当你的 while 条件变为 false 时,else 子句才会被执行。如果你跳出了循环,或者出现了异常,它就不会被执行。其语法如下:
while condition:
# execute these statements
else:
# execute these statements
for循环
语法
for 循环用于顺序遍历。例如:遍历列表、字符串或数组等。在 Python 中,没有 C 语言风格的 for 循环,即 for(i=0; i<n; i++)。Python 中使用的是 for...in... 循环,这与其他语言中的每个循环类似。让我们学习如何使用 for...in... 循环进行顺序遍历。其语法如下:
for iterator_var in sequence:
statements(s)
# Python program to illustrate
# Iterating over a list
print("List Iteration")
l = ["apples", "for", "dogs"]
for i in l:
print(i)
# Iterating over a tuple (immutable)
print("\nTuple Iteration")
t = ("apples", "for", "dogs")
for i in t:
print(i)
# Iterating over a String
print("\nString Iteration")
s = "students"
for i in s:
print(i)
# Iterating over dictionary
print("\nDictionary Iteration")
d = dict()
d['xyz'] = 123
d['abc'] = 345
for i in d:
print("%s %d" % (i, d[i]))
按序列的索引迭代
在 Python,我们也可以使用序列中元素的索引进行迭代。关键思想是首先计算列表的长度,然后在此长度范围内迭代序列,我们可以参考下面的示例,在这个例子中我们将通过方法 len() 来获取 list 的长度。
# Python program to illustrate
# Iterating by index
list = ["students", "for", "apples"]
for index in range(len(list)):
print(list[index])
在 for 循环中使用 else 语句:我们也可以将 else 语句与 for 循环结合使用,就像在 while 循环中一样。但是由于 for 循环中没有终止执行的条件,所以 else 块将在 for 块执行完毕后立即执行。下面的例子解释了如何做到这一点。
list = ["students", "for", "apples"]
for index in range(len(list)):
print(list[index])
else:
print("Inside Else Block")
求和
i=0
n= int(input())
sum = 0
while(i<n):
i=i+1
sum= i+sum
print(sum)
n = int(input())
num = 0
for i in range(0, n+1):
num = num + i
print(num)
循环嵌套
语法
Python 编程语言允许在一个循环中使用另一个循环。下面的部分展示了几个例子来说明这个概念。
Python 编程语言中嵌套 for 循环语句的语法如下:
for iterator_var in sequence:
for iterator_var in sequence:
statements(s)
statements(s)
Python 编程语言中嵌套 while 循环语句的语法如下:
while expression:
while expression:
statement(s)
statement(s)
关于循环嵌套,最后需要注意的是,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for 循环可以在 while 循环中,反之亦然。
打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
if j<i:
print(f"{j}*{i}={i*j}",end=' ')
else:
print(f"{j}*{i}={i*j}")
循环控制语句(continue & break)
continue
语法
循环控制语句改变执行的正常顺序。当执行离开一个作用域时,在该作用域中创建的所有自动对象将被销毁。
Python 支持 continue 控制语句:它将控制返回到循环的开始,或者说是可以结束某一次的循环直接跳到执行下一次的循环。
在下面的例子中,我们通过 continue 跳过了对字符串中所有 'h' 和 'a' 的输出。
# Prints all letters except 'h' and 'a'
for letter in 'Jiuzhangdafahao':
if letter == 'h' or letter == 'a':
continue
print('Current Letter :', letter)
var = 10
break
语法
Python break 语句,就像在C语言中,打破了最小封闭 for 或 while 循环。
break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。
break 语句用在 while 和 for 循环中。如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。其语法示例如下,在下面的例子中我们的程序将在循环到字符 'f' 或 'a' 时终止循环并输出前一个字符:
for letter in 'Jiuzhangdafahao':
# break the loop as soon it sees 'a' or 'f'
if letter == 'a' or letter == 'f':
break
print('Current Letter :', letter)
Pass 语句:
我们使用 Pass 语句来写空循环。Pass 也用于空的控制语句、函数和类。
在下面的例子中,我们的程序会一直空转到最后一个字符。
# An empty loop
for letter in 'Jiuzhangdafahao':
pass
print('Last Letter :', letter)
浙公网安备 33010602011771号