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

如何在Python的print中拼接文本?打印格式问题求助

问题解决方法

你代码里有两个核心问题:

  • 正则表达式没匹配到原字符串里的负号,导致textnumber拿到的是1.75而非-1.75,后续还要手动加负号完全没必要
  • 用逗号分隔元素赋值给number1是创建元组,不是字符串拼接,所以打印会带括号和引号

修正步骤:

  1. 修正正则,捕获带负号的数字
    把正则改成r'(-?\d+(?:\.\d+)?)',其中-?表示匹配0个或1个负号,这样能正确拿到-1.75。

  2. 正确拼接成目标字符串
    有几种简单方式实现:

    • f-string格式化(推荐):语法简洁,直接插入计算后的数值
    • str.join()方法:把数值转成字符串后用, 连接
    • 字符串+拼接:逐个拼接字符串(稍繁琐)

完整修正代码

import re
numbers = "Number is -1.75"
# 修正正则,捕获带负号的数字
textnumber = re.findall(r'(-?\d+(?:\.\d+)?)', numbers)[0]
number = float(textnumber)
# 方法1:f-string格式化
number1 = f"{number - 0.25}, {number + 0.25}"
# 方法2:str.join()
# number1 = ', '.join([str(number - 0.25), str(number + 0.25)])
# 方法3:+拼接
# number1 = str(number - 0.25) + ', ' + str(number + 0.25)
print(number1)

运行后就能得到你想要的输出:-1.5, -2.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:05:44