Python3条件与循环控制

迷南。 2022-03-18 04:40 348阅读 0赞

Python的流程控制语句包括:if条件语句、while循环语句、for循环语句、range函数以及break、continue、pass控制语句。这些语句在Python中的语义和在其他语言中是一样的,所以这里就只说它们的写法。

if语句

if语句是最常用的条件控制语句,Python中的一般形式为:

  1. if 条件一:
  2. statements
  3. elif 条件二:
  4. statements
  5. else:
  6. statements

Python中用elif代替了else if,所以if语句的关键字为:if - elif - else。

实例:

  1. #!/usr/bin/python3
  2. var1 = 100
  3. if var1:
  4. print ("1 - if 表达式条件为 true")
  5. print (var1)
  6. var2 = 0
  7. if var2:
  8. print ("2 - if 表达式条件为 true")
  9. print (var2)
  10. print ("Good bye!")

执行以上代码,输出结果为:

  1. 1 - if 表达式条件为 true
  2. 100
  3. Good bye!

注意
1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch - case语句。

while语句

Python中while语句的一般形式:

  1. while 判断条件:
  2. statements

同样需要注意冒号和缩进。另外,在Python中没有do..while循环

实例:

  1. #!/usr/bin/env python3
  2. n = 100
  3. sum = 0
  4. counter = 1
  5. while counter <= n:
  6. sum = sum + counter
  7. counter += 1
  8. print("1 到 %d 之和为: %d" % (n,sum))

执行以上代码,输出结果为:

  1. 1 100 之和为: 5050

for语句

Python中的for语句与C语言中的for语句有点不同:C语言中的for语句允许用户自定义迭代步骤和终止条件;而Python的for语句可以遍历任何序列(sequence),按照元素在序列中的出现顺序依次迭代。一般形式为:

  1. for variable in sequence:
  2. statements
  3. else:
  4. statements

实例:

  1. #!/usr/bin/python3
  2. sites = ["Baidu", "Google","Runoob","Taobao"]
  3. for site in sites:
  4. if site == "Runoob":
  5. print("菜鸟教程!")
  6. break
  7. print("循环数据 " + site)
  8. else:
  9. print("没有循环数据!")
  10. print("完成循环!")

执行脚本后,在循环到 “Runoob”时会跳出循环体:

  1. 循环数据 Baidu
  2. 循环数据 Google
  3. 菜鸟教程!
  4. 完成循环!

range函数

如果你要遍历一个数字序列,那么内置的range()函数就可以派上用场了。函数range()常用于for循环中,用于产生一个算术数列:

  1. >>> list(range(10)) # 默认从0开始
  2. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  3. >>> list(range(1, 11)) # 从1到11,前闭后开
  4. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  5. >>> list(range(0, 30, 5)) # 5表示步长,每隔5取一个数
  6. [0, 5, 10, 15, 20, 25]

break、continue、pass及else子句

break

break语句与C语言中的一样,跳出最近的for或while循环。

continue

continue语句同样是从 C 语言借用的, 它终止当前迭代而进行循环的
下一次迭代。

pass

pass语句什么都不做,它只在语法上需要一条语句但程序不需要任何操作时使用。pass语句是为了保持程序结构的完整性。

实例:

  1. #!/usr/bin/python3
  2. for letter in 'Runoob':
  3. if letter == 'o':
  4. pass
  5. print ('执行 pass 块')
  6. print ('当前字母 :', letter)
  7. print ("Good bye!")

执行以上脚本输出结果为:

  1. 当前字母 : R
  2. 当前字母 : u
  3. 当前字母 : n
  4. 执行 pass
  5. 当前字母 : o
  6. 执行 pass
  7. 当前字母 : o
  8. 当前字母 : b
  9. Good bye!

else子句

在循环语句中还可以使用else子句,else子句在序列遍历结束(for语句)或循环条件为假(while语句)时执行,但循环被break终止时不执行。

实例:

  1. #!/usr/bin/python3
  2. for n in range(2, 10):
  3. for x in range(2, n):
  4. if n % x == 0:
  5. print(n, '等于', x, '*', n//x)
  6. break
  7. else:
  8. # 循环中没有找到元素
  9. print(n, ' 是质数')

执行以上脚本输出结果为:

  1. 2 是质数
  2. 3 是质数
  3. 4 等于 2 * 2
  4. 5 是质数
  5. 6 等于 2 * 3
  6. 7 是质数
  7. 8 等于 2 * 4
  8. 9 等于 3 * 3

![wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==][wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw]

[wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw]:

发表评论

表情:
评论列表 (有 0 条评论,348人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python3 条件控制

    > Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。 > > 可以通过下图来简单了解条件语句的执行过程: ![在这里插