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

如何在Python中从while循环提取值并按指定格式输出?

解决奇数求和单行格式化输出问题

你当前的代码会逐个打印奇数,最后仅输出最后一个奇数加总和,无法得到1+3+5+7=16的单行目标格式。核心问题有两个:

  1. 循环内每次单独print(odd),导致每个奇数占一行;
  2. odd变量在每次循环中被重新赋值,循环结束后仅保留最后一个奇数的值。

这里提供两种简单的修改方案:

方案一:用列表收集奇数再拼接

通过列表存储所有奇数的字符串形式,最后用"+"连接列表元素并拼接总和:

num = int(input("Insert a positive integer:")) # 输入4
odd_num_list = []
total = 0
current_odd = 1
count = 1

while count <= num:
    odd_num_list.append(str(current_odd))
    total += current_odd
    current_odd += 2
    count += 1

# 拼接成目标格式并打印
print("+".join(odd_num_list) + "=" + str(total))

方案二:直接循环拼接字符串

在循环中逐步构建结果字符串,避免额外的列表存储:

num = int(input("Insert a positive integer:")) # 输入4
result_str = ""
total = 0
current_odd = 1
count = 1

while count <= num:
    if count == 1:
        # 第一个奇数直接赋值,避免开头出现加号
        result_str = str(current_odd)
    else:
        result_str += "+" + str(current_odd)
    total += current_odd
    current_odd += 2
    count += 1

print(result_str + "=" + str(total))

两种方案输入4时,都会输出1+3+5+7=16,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:35:20