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

Python中使用数学运算符修改子串值 解决时间转换赋值语法错误

报错原因

Python 中赋值语句的左侧必须是可接收赋值的变量、容器元素等可写对象,不能是函数调用返回的临时值。
你代码中nt(time_input[:2]) = int(time_input[:2]) - 12的等号左侧是nt()(大概率是int()的笔误)函数的调用结果,属于不可写的临时值,因此触发该语法错误。另外字符串本身是不可变类型,也无法直接修改其中的某一段内容。

修复实现

按照你的24小时制转12小时制的需求,完整可运行的实现如下:

  • 第一步:提取时间中的小时、分钟部分
# 假设time_input是符合hh:mm格式的字符串,比如"13:45"
hour = int(time_input[:2])
minute = time_input[3:]
  • 第二步:处理小时转换和上下午标识
if hour >= 12:
    period = "pm"
    # 12点不需要减12,超过12再减
    hour = hour - 12 if hour > 12 else hour
else:
    period = "am"
    # 处理0点的特殊情况,0点对应12 am
    hour = 12 if hour == 0 else hour
  • 第三步:格式化输出最终结果
# 补全小时的前导零,保证输出格式统一
time_12h = f"{hour:02d}:{minute} {period}"
边界场景验证
  • 输入00:05 → 输出12:05 am
  • 输入12:30 → 输出12:30 pm
  • 输入18:20 → 输出06:20 pm
  • 输入09:15 → 输出09:15 am

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:18:02