python第三次作业

本文介绍了如何用Python编写两个功能:LeapYear类用于判断给定年份是否为闰年,以及BinarySearch类实现二分查找算法在一个已排序列表中查找特定元素。展示了2024年是否为闰年的计算和随机生成列表的二分搜索操作。
摘要由CSDN通过智能技术生成

第一题答案

class LeapYear():
    def __init__(self, year):
        self.year = year

    def if_leapyear(self):
        if self.year % 4 == 0 and self.year % 100 != 0 or self.year % 400 == 0:
            return 1
        else:
            return 0
year = 2024
leapyear = LeapYear(year)
if leapyear.if_leapyear():
    print(f"{year}是闰年")
else:
    print(f"{year}不是闰年")

运行结果

第二题答案

import random


class BinarySearch():
    def __init__(self, list1):
        self.list1 = list1

    def sele_BinarySearch(self):
        i = 0
        j = 10 - 1
        while i <= j:
            mid = (i + j) // 2
            if self.list1[mid] == n:
                return mid
            else:
                if n < self.list1[mid]:
                    j = mid - 1
                else:
                    i = mid + 1
        if i > j:
            return "未找到!"


if __name__ == '__main__':
    list1 = random.sample(range(0, 20), 10)
    list1.sort()
    print(list1)
    n = int(input("请输入查找元素值:"))
    s1 = BinarySearch(list1)
    print(s1.sele_BinarySearch())

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值