sunyke 发表于 2015-12-1 09:56:16

Python学习(三)流程控制

Python流程控制
  本章介绍 python 的基础流程控制。包括 if 条件语句、for 循环 和 while 循环语句; continue 及 break 的用法等。 基本用法与 C 和 Java 差不多,无 switch 语句。

  if 语句
  以下例为例,if(...)括号内为一表达式,当为True(即成立)时,执行对应的代码段,注意,所有条件语句后方都需加冒号 :



1 ''' 判断用户输入的整数是几位数(暂不考虑用户输入非整数)
2   为0                输出   It's zero.
3   个位数            输出    It's a number below 10
4   两位数            输出    It's a two-digit number
5   三位数级以上   输出    It's digit is more than two
6 '''
7 user_input = raw_input("Please input a number: ")    # Python 2
8 # user_input = input("Please input a number: ")      # Python 3
9 n = int(user_input)            # 用户输入的类型为字符串,转换为整数类型
10
11 if (n==0):
12   print("It's zero.")
13 elif (n<10):
14   print("It's a number below 10")
15 elif (n<100):
16   print("It's a two-digit number")
17 else:
18   print("It's digit is more than two")
  可能会有零到多个 elif 部分,else 是可选的。关键字 “ elif ” 是 “else if ” 的缩写,这个可以有效地避免过深的缩进。 if ... elif ... elif ... 序列于替代其它语言中的switch case语句。
  

  for 语句
  Python 中的 for 语句和 C Pascal 中的 有不同。通常的循环可能会由用户来定义迭代步骤和中止条件(如 C ),Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。



1 # for 语句实例
2 string = "python"
3 for i in string:   
4   print(i)            # 字符串处理
5 list = ["l","i","s","t"]
6 for i in list:
7   print(i)            # 列表处理
8 for i in range(5):
9   print(i)            # range()函数,range(5) 表示 0 到 4
  上述示例仅感受下 for 语句的写法,具体的会在之后的数据结构等章节详细阐述。
  

  while 语句
  while(...) 括号内表达式若为 True,则继续执行代码段;若为False,停止执行



1 # while语句实例
2 i=1
3 while(i<10):
4   print(i)
5   i += 1
  需要注意错误代码导致的无限循环,如:



1 i=1
2 while(i>0):
3   i += 1
4   print(i)
  

  break 、 continue 语句
  break   语句和 C 中的类似,直接跳出循环,执行循环后的语句



1 i=1
2 while(i<5):
3   if(i==3):
4         break
5   print(i)
6   i += 1
  
    continue语句也是从C中借鉴来的,跳出当前循环,并执行下一次循环



1 i=1
2 for i in range(1,6):
3   if(i==3):
4         continue
5   print(i)
  
页: [1]
查看完整版本: Python学习(三)流程控制