python实验四、函数和模板

实验四、函数和模板

在这里插入图片描述


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))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-Z_Nuyoah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值