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
相关产品推荐
相关产品推荐

