1 %为求余运算符,例如i%j用来求i除以j的余数。特别地,当使用i%j==0时,用来判断i是否能被j整除(余数为0表示被除数能被除数整除)。对于你的问题,结合条件语句if,则表示“如果i能被2整除”。
例;对已有的计算 0 - 100 的while循环进行改造,通过增加 continue 语句,使得只计算奇数的和:
sum = 0
x = 0
while True:
x = x + 1
if x > 100:
break
if x % 2 == 0:
continue
sum = sum + x
print sum
2
list[]; t(); d{},但在选择其中内容时都是L[],t[] ,d[].
我们已经能创建一个dict,用于表示名字和成绩的对应关系:
d = {
‘Adam’: 95,
‘Lisa’: 85,
‘Bart’: 59
}
那么,如何根据名字来查找对应的成绩呢?
可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:
print d[‘Adam’]
95print d[‘Paul’]
Traceback (most recent call last):
File “index.py”, line 11, in
print d[‘Paul’]
KeyError: ‘Paul’
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if ‘Paul’ in d:
print d[‘Paul’]
如果 ‘Paul’ 不存在,if语句判断为False,自然不会执行 print d[‘Paul’] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
print d.get(‘Bart’)
59print d.get(‘Paul’)
None
任务
根据如下dict:
d = {
‘Adam’: 95,
‘Lisa’: 85,
‘Bart’: 59
}
请打印出:
Adam: 95
Lisa: 85
Bart: 59