python速成
p19 python字典|实现一个通讯录
使用数据结构 dictionnary(字典) 来实现
# 空的字典用一个花括号表示
contacts = {键:值}
# 作为键的数据类型必须是不可变的(str,int,float,bool)不可以是可变的(list)
contacts = {"小明":"18888888888"
"小花":"19999999999"
}
# 调用方法
contacts["小明"]
如果有多个重名的人只能靠年龄区分怎么办
这时候就可以使用 tuple
(元组)
contacts = {
("张伟",23):"1555555555",
("张伟",24):"1666666666",
("张伟",25):"1777777777",
}
添加和删除键值对
contacts["新同事"] = "188888888"
# 修改也是同样的操作
# 删除操作
del contacts["新同事"]
判断个键是否有对应的值
print("新同事" in contacts)
# 用 in 来判断该键值是否存在于字典中 会返回 True
print("新新同事" in contacts)
# 同上,返回 False
用len求字典的元素的数量
求出字典dictionary中所有的键
dictionary.key() # 所有的键
dictionary.values() # 所有值
dictionary.items() # 所有键值对
p20 for 循环
# 结合dictionary 判断身高在一米八以上的舍友
tall_dict = {"奇":1.75,"坤":1.76,"汪":1.85,"鹏":1.72,"帅":1.83,"宏":1.84,}
for name,tall in tall_dict.items():
if tall>=1.80:
print(name)
range(起始位置,终止位置,步长)
小于终止位置上的数,不会等于终止位置
求前1-100的和
sum = 0
for i in range(1,101):
sum+=i
print(sum)
while和for循环
for i in range():
# 等价于
i = 0
while i<...:
...
i+=1
用while循环写一个求输入数字平均值的小程序
print("你好,我是一个求平均值的程序")
user_input = input("请输入数字(完成所有数字输入后请输入p终止程序):")
sum = 0
cnt = 0
while user_input != "p":
num = float(user_input)
sum += num
cnt+=1
user_input = input()
if cnt == 0:
print("您输入数字的平均值为0")
else:
print("您输入数字的平均值为"+str(sum/cnt))