1.尝试一下将数据(‘F’: 70, ‘C’: 67, ‘h’: 104, ‘i’: 105, ‘s’: 115)创建为一个字典并访问键 ‘C’ 对应的值
答案:
# 两种创建形式
MyDict = dict((('F', 70), ('i',105), ('s',115), ('h',104), ('C',67)))
MyDict_2 = {'F':70, 'i':105, 's':115, 'h':104, 'C':67}
print(MyDict['C'])
print(MyDict_2['C'])
2.有字典dic如下,请遍历字典中所有的key,再遍历字典中所有的value
答案:
dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
for item in dic:
print(item) # 遍历key
for item in dic:
print(dic[item]) # 遍历value
3.请在字典中增加一个键值对,“k4”:“v4”,输出添加后的字典
答案:
dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
dic['k4'] = 'v4'
print(dic)
4.请在字典中删除key为k2的键值对,并输出删除后的字典
答案:
dic = {'k1': 'v1','k2':'v2','k3':'v3'}
# 两种方法
# dic.pop('k2') # 方法1:可以返回删除的k对应的value,不存在则会引发异常
del dic['k2'] # 方法2:不返回删除的k对应的value,不存在则会引发异常
print(dic)
5.请将下图左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。
答案:
6.利用下划线将列表的每一个元素拼接成字符串
li = ['alex', 'eric', 'rain']
输出"alex_eric_rain"
答案:
li = ['alex', 'eric', 'rain']
c = li[0]
# 方法一 for循环
for s in li[1:]:
c = c + '_' + s
print(c)
# 方法二 join方法连接
t = "_"
print(t.join(li))
7.字符串 “a,b,c,d” ,请用逗号分割字符串,分割后的结果是什么类型的?
答案:
str3 = "a,b,c,d"
item = ""
out = []
# 方法一 for循环判断 原始方法,python定义的方法大部分都可以用循环加判断实现
for s in str3:
if s != ',': # 如果改字符不为逗号
item = item + s # 存入item字符串
else: # 当检测到逗号
out.append(item) # 将item这个字符串添加到out列表中
item = "" # item字符串需要清除
if item != "": # 循环完成后若item中还存在字符,需要将最后末尾的字符串也添加到out列表中
out.append(item)
print(out)
# 方法二 split方法分割字符串
str3 = str3.split(',') # 利用split方法进行分割
print(str3)
print(type(str3))
8.string = “Python is good”, 请将字符串里的Python替换成 python,并输出替换后的结果
答案:
string = "Python is good"
s1 = string.replace("Python","python")
print(s1)
9.实现一个简单计算器
选择运算:
1、相加
2、相减
3、相乘
4、相除
输入你的选择(1/2/3/4):2
输入第一个数字: 5
输入第二个数字: 2
5 - 2 = 3
答案:
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == '1':
print(num1, "+", num2, "=", num1+num2)
elif choice == '2':
print(num1, "-", num2, "=", num1-num2)
elif choice == '3':
print(num1, "*", num2, "=", num1*num2)
elif choice == '4':
print(num1, "/", num2, "=", num1/num2)
else:
print("非法输入")
10.尝试利用字典的特性编写一个通讯录程序吧,功能如图:
答案:
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料 ---|')
print('|--- 2:插入新的联系人 ---|')
print('|--- 3:删除已有联系人 ---|')
print('|--- 4:退出通讯录程序 ---|')
contacts = dict()
while 1:
instr = int(input('\n请输入相关的指令代码:'))
if instr == 1:
name = input('请输入联系人姓名:')
if name in contacts:
print(name + ' : ' + contacts[name])
else:
print('您输入的姓名不再通讯录中!')
if instr == 2:
name = input('请输入联系人姓名:')
if name in contacts:
print('您输入的姓名在通讯录中已存在 -->> ', end='')
print(name + ' : ' + contacts[name])
if input('是否修改用户资料(YES/NO):') == 'YES':
contacts[name] = input('请输入用户联系电话:')
else:
contacts[name] = input('请输入用户联系电话:')
if instr == 3:
name = input('请输入联系人姓名:')
if name in contacts:
del(contacts[name]) # 也可以使用dict.pop()
else:
print('您输入的联系人不存在。')
if instr == 4:
break
print('|--- 感谢使用通讯录程序 ---|')