单行if/else语句
>>>a,b = 4,8
>>>max_number = a if a>b else b
>>>max_number
8
break continue 用法
stock = {'book','pen':3,'eraser':6,'ruler':2}
for key,value in stock.items():
if value < 5 :
print("({},{})".format(key,value))import urllib.request
import re
def get_hotsongs_html():
url = 'http://music.163.com/playlist?id=316608987'
req = urllib.request.urlopen(url).read().decode('utf-8')
return (req)
def get_ID_Name():
s1 = "
.+?<.a>"#r'
'#
- 晴天
- result = re.compile(s1).findall(get_hotsongs_html()) return result get_hotsongs_html() s2=get_ID_Name() num = 1 for data in s2: print(str(num) + " " +data) num += 1
break
在循环中,break
语句可以提前退出循环。例如,本来要循环打印1~100的数字:
n = 1
while n <= 100:
print(n)
n = n + 1
print('END')
上面的代码可以打印出1~100。
如果要提前结束循环,可以用break
语句:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END
,程序结束。
可见break
的作用是提前结束循环。
continue
在循环过程中,也可以通过continue
语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n < 10:
n = n + 1
print(n)
上面的程序可以打印出1~10。但是,如果我们想只打印奇数,可以用continue
语句跳过某些循环:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue
的作用是提前结束本轮循环,并直接开始下一轮循环。
小结
循环是让计算机做重复任务的有效的方法。
break
语句可以在循环过程中直接退出循环,而continue
语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if
语句使用。
要特别注意,不要滥用break
和continue
语句。break
和continue
会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break
和continue
语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉break
和continue
语句。
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C
退出程序,或者强制结束Python进程。
请试写一个死循环程序。
注意:map()函数不改变原有的 list,而是返回一个新的 list。
利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。
由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。