python基础-条件分支和循环
来源:互联网 发布:ajax请求json数据 编辑:程序博客网 时间:2024/05/22 15:45
以下内容包括 :
- 条件分支
- 循环
if 表达式: 执行
我们知道表达式的值为False时,if代码块不会执行,相反为True则会执行,那么怎么确定表达式的值?
在python中,如果一个值的预定义是常量False,数字0,特殊对象None,空序列(如空的字符串或者空列表),空集合,该值的计算结果就是为False,相反为True.
1.条件分支
来一段简单的代码:
x = 5if x>0: print(x)else: print(0)
可以看到需要注意的是一下几点:
- if语句并没有圆括号和大括号
- :是语法的一部分
- 使用缩进来表示它的块结构(4个空格)
if x>0: pass #什么都不做
pass如语义所示,什么都不做,它的存在只是代表着一种语义性
以下我们都是以一段代码以及讲解的方式列出,这样理解会更好。
if x >0 :pass
如果只是一个简单语句,我们可以将其放在一行
x = 5if 0 <= x <= 10: print(x)输出:5
比较运算符可以这么使用,这也是与java语言的不同之处
x = 5if 0=<x and x>=10: print(x);输出:5
这段代码和上述的意思是一样的,但是推荐使用第一个,x出现一次而不是两次,易于维护
x = 59if x <10: print('small')elif x <100: print("medium")else: print("huge")输出:medium
python中没有switch语句,因此我们只能这么做
x = 6print('x>=0') if(x>=0) else print('x<0')输出x>=0# 格式:trueResult if expression else falseResult
条件表达式,相当于java中的三元运算符,只是格式有点怪.if语句如果执行成功,则执行trueResult,失败falseResult
2.循环
count = 3while count != 0: print(count,end='') count -= 1#输出:321
这里使用end=” 可以将数据输入到一行
count = 3while count != 0: print(count,end='') if count == 2: break count -= 1输出:32
当满足条件的时候,用break语句控制循环的退出
count = 3while count != 0: print(count,end='') count -= 1else: print('循环完毕!')输出:321循环完毕!--------------------------------------------------count = 3while count != 0: print(count,end='') if count == 2: break count -= 1else: print('循环完毕!')输出:32
else可以用在循环中是个非常神奇的东西,如果循环执行完便会执行else中的代码,如果break了,那么else便不会执行
for variable in iterable: 代码块1else: 代码块2
for循环在很多情况下很实用,例如知道遍历的次数
else的工作方式与while相同,也就是说循环完成就会执行。iterable是可遍历的对象,如字符串,一个元组,一个列表,一个字典,或者一个迭代器,如果是字典,遍历的是字典的键。
for char in "helloworld": print(char,end = ord(char) )输出:h e l l o w o r l d
可见,遍历字符串,就是遍历字符串中的每个字符
for i in range(10): print(i,end= ' ')输出:0 1 2 3 4 5 6 7 8 9
range内置函数会返回一个整数列表
presidents = dict(Washingtom=(1789,1897),Adams=(1797,1801),Jefferson=(1801,1809),Madison = (1809,1817))for key in presidents: print("%s:%d-%d"%(key,presidents[key][0],presidents[key][1]))输出:Adams:1797-1801Jefferson:1801-1809Madison:1809-1817Washingtom:1789-1897
如果是遍历字典,我们不需要keys()方法来获取字典的各个键,上述的输出不一定是这个顺序,因为字典的键是无序的。
presidents = dict(Washingtom=(1789,1897),Adams=(1797,1801), Jefferson=(1801,1809),Madison = (1809,1817))for item in presidents.items(): print("%s:%d-%d" % (item[0], item[1][0], item[1][1]));
输出的结果和上面的一致,item是一个tuple,遍历第一个的值为(‘Washingtom’,(1789,1897)),因此item[0]的值就是Washingtom.
presidents = dict(Washingtom=(1789,1897),Adams=(1797,1801), Jefferson=(1801,1809),Madison = (1809,1817))for key in sorted(presidents): print("%s:%d-%d" % (key, presidents[key][0], presidents[key][1]))输出:Adams:1797-1801Jefferson:1801-1809Madison:1809-1817Washingtom:1789-1897
如果想要按次序的输出,那么可以用sorted()函数字典排序,而实际上,sorted()函数是对字典的键进行排序.上面的代码也等价于:
keys = presidents.keys();sorted(keys)for key in keys: print("%s:%d-%d" % (key, presidents[key][0], presidents[key][1]))输出:Adams:1797-1801Madison:1809-1817Washingtom:1789-1897Jefferson:1801-1809
for x in range(-5,6): if x == 0: continue print(1.0/x)
continue x == 0 的时候跳出循环,这样就不会造成除0的异常。
总结:
1,python的条件分支if,:是语法的一部分,pass代表一种什么也不做的语义性,按照python的风格,缩进是4个空格。
2,循环的两种方式:while和for,并且它们两者都有else,即是在循环正常执行完毕的时候才会执行,如果遇到break跳出循环,else是不会执行的。
3,continue 可以跳出本层的循环
4,range()生成一个列表,我们可以方便的使用它来控制遍历的次数
5,如何遍历一个字典,因为字典的键是无序的,那么可以使用sorted()函数来有序的遍历它。
6,print(x,end=”“) end可以控制输出变量的末尾值
- python基础-条件分支和循环
- 分支,条件和循环
- 我的Python第二篇 条件分支和循环篇
- Python基础:06条件和循环
- Python基础-条件判断和循环
- python基础之条件判断和循环
- Python分支和循环
- python基础学习(四):条件和分支
- Python:条件和循环
- Python 条件和循环
- Python基础编程(五)条件、循环和其他语句
- Python编程基础之七条件和循环
- python基础之条件、循环和其他语句
- Python基础学习三 条件判断和循环
- Python基础(四)之条件判断和循环
- Python基础学习--第四篇(条件判断和循环)
- 【2-4】Python基础——条件判断和循环
- python基础学习之——条件判断和循环
- 整理java中左侧补0的方法
- uml类图
- Android灯光系统框架分析
- Activity启动模式的那点事
- 计算机网络--网络层
- python基础-条件分支和循环
- storm框架跑wordcount
- 费用流[网络流24题] 餐巾
- html5小栗子---canvas时钟
- QT-程序生成详细信息
- HDU6053 TrickGCD
- 剑指offer:对称二叉树
- Pandas读取csv文件Error总结
- 解题报告:HDU_5663 Hillan and the girl 莫比乌斯反演