美丽的 2

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴。 他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中包含数字 2?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M


来自: 3.美丽的 2 – 蓝桥云课

我的题解

def judge_two_is_in_year(year):
    """
    判断年份中是否包含数字2。
    
    参数:
    year -- 待判断的年份(整数)
    
    返回值:
    返回 True 如果年份的字符串表示中包含数字2,否则返回 False。
    """
    if '2' in str(year):
        return True
    return False

# 主程序块
if __name__ == '__main__':
    # 初始化计数器
    count = 0
    # 遍历从1到2020的所有年份
    for year in range(1, 2021):
        # 如果年份中包含数字2,则计数器增加
        if judge_two_is_in_year(year):
            count += 1
    # 打印计数结果
    print(count)

输出结果是:563

性能优化

def has_digit_two(year):
    """
    判断年份中是否包含数字2。

    参数:
    year -- 待判断的年份(整数)

    返回值:
    返回 True 如果年份的字符串表示中包含数字2,否则返回 False。
    """
    return '2' in str(year)


# 主程序块
if __name__ == '__main__':
    # 使用列表推导式进行优化
    count = sum(1 for year in range(1, 2021) if has_digit_two(year))
    
    # 打印计数结果
    print(count)

存档地址:https://www.yuque.com/worthstudy/study/hwzlgc6kb1175fyu?singleDoc# 《美丽的 2》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0
评论 抢沙发

请登录后发表评论

    暂无评论内容