python入门 - - - 廖雪峰 - 图文 联系客服

发布时间 : 星期五 文章python入门 - - - 廖雪峰 - 图文更新完毕开始阅读

while True: sum = sum + x x = x + 1 if x > 100: break print sum 咋一看, while True 就是一个死循环,但是在循环体内,我们还判断了 x > 100 条件成立时,用break语句退出循环,这样也可以实现循环的结束。

任务

利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前20项的和。

?不会了怎么办

break退出循环的条件是循环已执行了20次。 参考代码: sum = 0 x = 1 n = 1 while True: if n > 20: break sum = sum + x x = x * 2 n = n + 1 print sum Python之 continue继续循环

在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。 假设我们已经写好了利用for循环计算平均分的代码:

L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: sum = sum + x n = n + 1 print sum / n 现在老师只想统计及格分数的平均分,就要把 x < 60 的分数剔除掉,这时,利用 continue,可以做到当 x < 60的时候,不继续执行循环体的后续代码,直接进入下一次循环:

for x in L: if x < 60: continue sum = sum + x n = n + 1

任务

对已有的计算 0 - 100 的while循环进行改造,通过增加 continue 语句,使得只计算奇数的和:

sum = 0 x = 1 while True: sum = sum + x x = x + 1 if x > 100: break print sum ?不会了怎么办 当 x 是偶数时,就通过continue语句提前进入下一次循环。 continue判断的位置非常重要。 参考代码: sum = 0 x = 0 while True: x = x + 1 if x > 100: break if x % 2 == 0: continue sum = sum + x print sum Python之 多重循环

在循环内部,还可以嵌套循环,我们来看一个例子:

for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print x + y x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列: A1 A2 A3 B1 B2 B3 C1 C2 C3

任务

对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。

?不会了怎么办

十位数循环从1至9,个位数循环从0至9。 参考代码: for x in [1, 2, 3, 4, 5, 6, 7, 8, 9]: for y in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]: if x < y: print x * 10 + y ?

第6章 Dict和Set类型

Python之什么是dict

我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:

['Adam', 'Lisa', 'Bart'] 或者考试的成绩列表:

[95, 85, 59] 但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。 如果把名字和分数关联起来,组成类似的查找表:

'Adam' ==> 95 'Lisa' ==> 85 'Bart' ==> 59 给定一个名字,就可以直接查到分数。

Python的 dict 就是专门干这件事的。用 dict 表示“名字”-“成绩”的查找表如下:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 我们把名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。

花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。 由于dict也是集合,len() 函数可以计算任意集合的大小:

>>> len(d) 3 注意: 一个 key-value 算一个,因此,dict大小为3。

任务

新来的Paul同学成绩是 75 分,请编写一个dict,把Paul同学的成绩也加进去。

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } ?不会了怎么办 按照 key: value 的格式写出 'Paul': 75 参考代码: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 75 }