首页 > 代码库 > Python学习笔记2(控制语句)
Python学习笔记2(控制语句)
1.if条件语句
if(表达式): 语句1else: 语句2
2.if...elif...else判断语句
if(表达式1):语句1elif(表达式2):语句2...elif(表达式n):语句nelse:语句m
eg:
#if elif else语句score = float( input("score:"))if 90 <= score <=100: print("A")elif 80<= score <=90: print("B")elif 60<= score <=80: print("C")else: print("D")
PS:编写if条件语句时,尽量避免使用嵌套语句。不便阅读,且可能忽略一些可能性
1 # 错误的嵌套语句2 x = -13 y = 994 if(x != 0):5 if(x > 0):6 y = 17 else:8 y = 09 print ("y =", y)
注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,则上面的第7行的 else 语句与第4行的if对应。因此,当x!=0时,只考虑了x大于0的情况。
缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
3.switch语句的代替方案
python中没有switch语句,因此可用其他方式构造出switch语句。
- 通过字典实现switch语句
from _future_ import divisionx = 1y = 2operator = "/"result = { #定义一个字典result "+" : x + y "-" : x - y "*" : x * y "/" : x / y}print ( result.get(operator))
- 创建一个switch类,处理程序的流转
class switch(object): def _init_(self, value): # 初始化需要匹配的值value self.value =http://www.mamicode.com/ value self.fall = False # 如果匹配到的case语句中没有break,则fall为True def _iter_(self): yield self.match # 调用match方法 返回一个生成器 raise StopIteration # StopIteration异常来判断for循环是否结束 def match(self, *args): # 模拟case子句的方法 if self.fall or not args: # 如果fall为True,则继续执行下面的case语句 # 或case子句没有匹配项,则流转到默认分支 return True elif self.value in args: # 匹配成功 self.fall = True return True else: # 匹配失败 return Falseoperator = "+"x = 1y = 2for case in switch(operator): # switch只能用于for in循环中 if case( ‘+‘ ): print (x + y) break if case( ‘-‘ ): print (x - y) break if case( ‘*‘ ): print (x * y) break if case( ‘/‘ ): print (x / y) break if case(): #默认分支 print ""
PS:switch语句造成代码不已维护,使源代码臃肿。不推荐使用switch。
4.while循环
while(表达式): # 表达式错误,程序转到else语句 ...else: #else也属于while循环的一部分 ... #最后一次循环结束后将执行else子句
eg:(遍历numbers中的数据)
numbers = input("输入几个数字,用逗号分隔:").split(",")print(numbers)x = 0while x < len(numbers): print (number[x]) x += 1
5.for循环
for 变量 in 集合: ...elsse: #最后一次循环结束后执行else子句,else可省略 ...
for...in...循环通常与range()函数一起使用,range()返回一个列表,for...in...遍历列表中的元素。range()函数的声明如下:
class range(object) range(stop) -> range object range(start, stop[, step]) -> range object# start表示列表开始的值,默认值为0;# stop表示列表结束的值,该参数不可缺少;# step表示步长,每次递增或递减的值,默认值为1;
eg:
for x in range(-1,2): if x > 0: print ("正数: ", x) elif x == 0: print ("零: ", x) else: print ("负数: ", x)else: print ("循环结束")
6.break和continue语句(同C)
7.冒泡排序示例
# 冒泡排序def bubbleSort(numbers): # 冒泡算法的实现 for j in range(len(numbers) -1, -1, -1): for i in range(j): if numbers[i] > numbers[i*1]: # 把数值小的数字放到顶端 numbers[i], numbers[i+1] = numbers[i+1], numbers[i] print (numbers)def main(): # 主函数 numbers = [23, 12, 9, 15, 6] bubbleSort(numbers)if _name_ == ‘_main_‘: main()
Python学习笔记2(控制语句)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。