如何用Python的for循环实现根据年龄输出出生至今所有年份
解决方案
这里是满足需求的Python代码,附带详细逻辑说明:
from datetime import datetime # 获取当前系统年份 current_year = datetime.now().year # 获取用户输入的年龄并转为整数 age = int(input("请输入你的年龄:")) # 计算出生年份 birth_year = current_year - age # 初始化列表存储年份字符串 year_list = [] # 使用for循环遍历所有目标年份 for year in range(birth_year, current_year + 1): year_list.append(str(year)) # 格式化为逗号分隔的字符串并输出 print(", ".join(year_list))
代码细节说明:
- 自动获取当前年份:用
datetime.now().year动态获取系统当前年份,比手动写死年份更灵活,避免每年修改代码。 - 输入处理:通过
int()将用户输入的字符串转为整数,确保后续年份计算不会出错。 - 循环逻辑:
range(birth_year, current_year + 1)生成从出生年份到当前年份的序列(range是左闭右开区间,所以要加1才能包含当前年份),循环中把每个年份转为字符串存入列表。 - 输出格式化:用
", ".join(year_list)把列表转为逗号加空格分隔的字符串,完全匹配示例的输出格式。
示例运行效果:
请输入你的年龄:37
1987, 1988, 1989, ..., 2024 (注:实际输出会根据当前系统年份自动调整)
如果不需要自动获取年份,也可以直接手动指定current_year = 2024,但自动获取的方式实用性更强。
内容的提问来源于stack exchange,提问作者Nicki
相关产品推荐
相关产品推荐

