You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何向字符串追加值并单行输出?及闰年计算器输出问题

1. Python中向现有字符串追加值并一行输出

以下是两种常用实现方式:

  • 批量追加后一次性输出:使用+=操作符逐步拼接字符串,最后统一打印
    base_str = "Hello"
    base_str += " Python"
    base_str += "!"
    print(base_str)  # 输出: Hello Python!
    
  • 实时追加并一行输出:如果是循环中追加内容,可利用print()的end参数避免换行
    base_str = "Items: "
    for item in ["apple", "banana", "cherry"]:
        base_str += item + " "
        # 或者直接实时打印不换行
        print(item, end=" ")
    print(f"\n{base_str}")  # 输出: apple banana cherry 
                            # Items: apple banana cherry 
    
2. 闰年计算器输出所有闰年的修复方案

问题分析

代码只输出最后一个闰年,核心原因是每次找到闰年时都用新值覆盖了存储变量,没有保留之前的结果。

修复代码(两种方式)

方式一:用列表收集所有闰年再输出

import sys

# 解析命令行参数
start_year = int(sys.argv[1])
end_year = int(sys.argv[2])

leap_years = []
for year in range(start_year, end_year + 1):
    # 闰年判断规则:能被4整除但不能被100整除,或能被400整除
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        leap_years.append(str(year))

# 用空格分隔输出所有闰年
print(" ".join(leap_years))

方式二:循环中直接打印(不换行)

import sys

start_year = int(sys.argv[1])
end_year = int(sys.argv[2])

for year in range(start_year, end_year + 1):
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        print(year, end=" ")
print()  # 最后添加换行符,避免输出后光标停在同一行

示例效果

  • 命令行输入:python leap_calculator.py 2000 2020
  • 输出:2000 2004 2008 2012 2016 2020

内容的提问来源于stack exchange,提问作者bubbles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:53:30