Python学习笔记3——判断和循环

if语句的使用

在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面的例子中演示了如何构造一个分支结构。

 1 """
 2         3x - 5  (x > 1)
 3 f(x) =  x + 2   (-1 <= x <= 1)
 4         5x + 3  (x < -1)
 5 
 6 """
 7 
 8 x = float(input('x = '))
 9 if x > 1:
10     y = 3 * x - 5
11 elif x >= -1:
12     y = x + 2
13 else:
14     y = 5 * x + 3
15 print('f(%.2f) = %.2f' % (x, y))

Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

for-in循环

如果明确的知道循环执行的次数或者要对一个容器进行迭代,那么我们推荐使用for-in循环,例如下面代码中计算1~100求和的结果。

 1 """
 2 用for循环实现1~100求和
 3 """
 4 """
 5 range(101)可以产生一个0到100的整数序列。
 6 range(1, 100)可以产生一个1到99的整数序列。
 7 range(1, 100, 2)可以产生一个1到99的奇数序列,其中2是步长,即数值序列的增量。
 8 """
 9 sum = 0
10 for x in range(101):
11 #sum += x 等价于 sum = sum + x
12 #例如: a *= a + 2 # 相当于:a = a * (a + 2)
13     sum += x
14     print(x)
15 print(sum)

while循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

 1 """
 2 猜数字游戏
 3 计算机出一个1~100之间的随机数由人来猜
 4 计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
 5 """
 6 
 7 import random
 8 
 9 answer = random.randint(1, 100)
10 counter = 0
11 while True:
12     counter += 1
13     number = int(input('请输入: '))
14     if number < answer:
15         print('大一点')
16     elif number > answer:
17         print('小一点')
18     else:
19         print('恭喜你猜对了!')
20         break
21 print('你总共猜了%d次' % counter)
22 if counter > 7:
23     print('你的智商余额明显不足')

上面的代码中使用了break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个九九乘法表。

1 """
2 输出乘法口诀表(九九表)
3 
4 """
5 
6 for i in range(1, 10):
7     for j in range(1, i + 1):
8         print('%d*%d=%d' % (i, j, i * j), end='\t')
9     print()

 

你可能感兴趣的:(Python学习笔记3——判断和循环)