题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝特别喜欢 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
暂无评论内容