实验四、函数和模板
m_d = lambda p1 , p2 : abs(p1[0] - p2[0]) + abs(p1[1] - p2[1])
input_data_1 = input()
x1,y1 = map(int, input_data_1.split(","))
point1 = (x1,y1)
input_data_2 = input()
x2,y2 =map(int,input_data_2.split(","))
point2 = (x2,y2)
d = m_d(point1,point2)
print("{:.2f}".format(d))
input_listA = input()
input_listB = input()
listA = input_listA.split(",")
listB = input_listB.split(",")
#不考虑数字输出时是否带引号
result_dict = {}
for i in range(min(len(listA),len(listB))):
key = listA[i]
result_dict[listA[i]] = listB[i]
print(result_dict)
def is_L(n):
if (n % 4 == 0 and n % 100 != 0) or (n % 400 == 0):
return "yes"
else:
return "no"
year = int(input())
result = is_L(year)
print(result)
def b_s(s_list,tar):
l = 0
r = len(s_list) - 1
while l <= r:
mid = ( l + r ) // 2
if s_list[mid] == tar:
return mid
elif s_list[mid] < tar:
l = mid + 1
else:
r = mid - 1
return None
sort_list = input().split(",")
sort_list = [int(x) for x in sort_list]
target = int(input())
result = b_s(sort_list,target)
print(result)
num_list = input().split(",")
num_list = [int(x) for x in num_list]
f_list = list(filter(lambda x:x > 0 and x % 3 == 0,num_list))
if f_list:
print(','.join(map(str,f_list)))
else:
print("None")
def h_n(n,s,a,t):
if n == 1:
return [(s,t,n)]
# print(f"{st}步:将{n}号盘子从{s} -> {t}")
else:
moves = h_n( n - 1, s ,t,a)
moves.append((s,t,n))
moves.extend(h_n(n-1,a,s,t))
return moves
n = int(input())
moves = h_n(n,'A','B','C')
for i,move in enumerate(moves,start=1):
s,t,n = move
print(f"{i}步:将{n}号盘子从{s} -> {t}")
class BiTreeNode:
def __init__(self, data):
self.data = data
self.lchild = None
self.rchild = None
class CreateBiTree:
"""
str_tree: 传入字符串
return: 返回根结点
"""
def __init__(self, str_tree):
self.str_tree = str_tree
def create_tree(self):
l1 = list(self.str_tree)
l1 = [None if i == '#' else i for i in l1] # 将#转为None
nodes = [BiTreeNode(l1[i]) for i in range(len(l1))] # 初始化各个结点
root = nodes[0]
for i in range(len(l1)):
if 2*i+2 > len(l1): # 循环到最后的右孩子结束
break
cur_node = nodes[i]
if nodes[2*i+1].data:
cur_node.lchild = nodes[2*i+1] # 当前结点的左孩子
if nodes[2*i+2].data:
cur_node.rchild = nodes[2*i+2] # 当前结点的右孩子
return root
def __call__(self):
return self.create_tree()
def in_order(root):
# 中序排列
#请在下方两段*****之间补齐代码,实现中序遍历
#*********************************************#
if root:
in_order(root.lchild)
print(root.data,end=',')
in_order(root.rchild)
#********************************************#
tree_input=input()
a = CreateBiTree(tree_input)
root = a() # 调用__call__方法
#print('根结点为:', root.data)
in_order(root)
def c_a_s(s):
if len(s) < 3:
return 0
s.sort()
s = s[1:-1]
a_s = sum(s) / len(s)
return a_s
s_s = input()
s = [float(s) for s in s_s.split(',')]
a = c_a_s(s)
print("{:.2f}".format(a))