
def is_special_date(year, month, day):
# 计算年份、月份和日份数字之和
year_sum = sum(int(digit) for digit in str(year))
month_sum = sum(int(digit) for digit in str(month))
day_sum = sum(int(digit) for digit in str(day))
return year_sum == (month_sum + day_sum)
# 初始化计数器
count = 0
# 遍历所有的日期
for year in range(1900, 10000):
for month in range(1, 13):
if month in [4, 6, 9, 11]: # 小月有30天
for day in range(1, 31):
if is_special_date(year, month, day):
count += 1
elif month == 2: # 二月
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): # 跳跃年
for day in range(1, 30):
if is_special_date(year, month, day):
count += 1
else:
for day in range(1, 29):
if is_special_date(year, month, day):
count += 1
else: # 大月有31天
for day in range(1, 32):
if is_special_date(year, month, day):
count += 1
print(count)
import datetime
star_time_tuple=(1900,1,1)
end_time_tuple=(2022,12,31)
star=datetime.date(*star_time_tuple)
end=datetime.date(*end_time_tuple)
count=0
while star<=end: #不要用if 否则count=0
m=str(star)
m=m.replace('-','')
m_list=list(m)
total=0
for i in m_list[0:4]:
total+=int(i)
sum_=0
for m in m_list[4:8]:
sum_+=int(m)
if total==sum_:
count+=1
star+=datetime.timedelta(days=1)
print(count)
"""方法一:使用切片和 sum 函数
最简单的方法是使用列表切片来获取前四个元素,然后使用 sum 函数求和。
python
深色版本
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = sum(numbers[:4])
print(total) # 输出 10
方法二:使用 for 循环
通过遍历前四个元素并累加它们。
python
深色版本
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = 0
for num in numbers[:4]:
total += num
print(total) # 输出 10
方法三:使用 reduce 函数
使用 reduce 函数来累积前四个元素。
python
深色版本
from functools import reduce
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = reduce(lambda x, y: x + y, numbers[:4])
print(total) # 输出 10
方法四:使用列表推导式和 sum 函数
虽然这种方法在性能上可能没有显著提升,但它提供了一种更简洁的写法。
python
深色版本
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = sum([num for num in numbers[:4]])
print(total) # 输出 10
方法五:使用 numpy 库
如果你在处理大规模数据,可以考虑使用 numpy 库,它提供了高效的数组操作。
python
深色版本
import numpy as np
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = np.sum(numbers[:4])
print(total) # 输出 10
示例
假设你有一个列表 numbers,其中包含一些数字,你可以选择上述任何一种方法来求和。以下是使用 sum 函数和切片的示例:
python
深色版本
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
total = sum(numbers[:4])
print(total) # 输出 10"""
389




被折叠的 条评论
为什么被折叠?



