练习一:
输入:sInput.txt文件
{
"南京": ["江苏", 850, ["盐⽔鸭", "酸菜⻥", "鸭⾎粉丝汤", "六合猪头⾁"]],
"上海": ["上海", 2500, ["红烧⾁", "⼋宝鸭", "汤包"]],
"杭州": ["浙江", 1000, ["⻄湖醋⻥", "东坡⾁"]],
"⼴州": ["⼴东", 1500, ["烧鹅", "⽩切鸡"]]
}
输出:
{
"江苏": {"城市": "南京", "⼈⼝": 850, "特⾊菜": "六合猪头⾁"},
"上海": {"城市": "上海", "⼈⼝": 2500, "特⾊菜": "汤包"},
"浙江": {"城市": "杭州", "⼈⼝": 1000, "特⾊菜": "东坡⾁"},
"⼴东": {"城市": "⼴州", "⼈⼝": 1500, "特⾊菜": "⽩切鸡"}
}
程序:
import json
# sInput = {
# "南京": ["江苏", 850, ["盐⽔鸭", "酸菜⻥", "鸭⾎粉丝汤", "六合猪头⾁"]],
# "上海": ["上海", 2500, ["红烧⾁", "⼋宝鸭", "汤包"]],
# "杭州": ["浙江", 1000, ["⻄湖醋⻥", "东坡⾁"]],
# "⼴州": ["⼴东", 1500, ["烧鹅", "⽩切鸡"]]
# }
with open('./sInput.txt', 'r',encoding = 'utf8') as f:
sInput = json.load(f)
# print(sInput)
sOut = {}
print("{")
for i in sInput.keys():
sOut[sInput[i][0]] = {"城市":sInput[i][0],"⼈⼝":sInput[i][1],"特色菜":sInput[i][2][-1]}
print(' "'+sInput[i][0]+'": {"城市": "'+str(sInput[i][0])+'", "⼈⼝": "'+str(sInput[i][1])+'", "特色菜": "'+str(sInput[i][2][-1])+'"}')
print("}")
练习二:装饰器
import time
from functools import wraps
def my_decorator(func):
@wraps(func)
def wrapped_function(*args):
start_time = time.time() # 记录程序开始运行时间
log_string = func.__name__ + "被调⽤"
print(log_string, end="")
try:
func(*args)
except ZeroDivisionError:
print("(重试1次)",end="")
func(*args)
finally:
end_time = time.time() # 记录程序结束运行时间
t = end_time - start_time
print(',执⾏时间%.5f秒' % t)
return func(*args)
return wrapped_function
# -------------------func 1---------------------
@my_decorator
def my_add(v1, v2):
return v1+v2
# 执⾏
print(my_add(1, 3))
# -------------------func 2---------------------
@my_decorator
def div_0():
1 / (int(time.time()) % 2)
# 执⾏
div_0()