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

Python函数无法返回数学计算结果,仅输出表达式求助

问题描述

我正在初步学习Python及其函数,目前编写的函数能返回指定文本,但无法输出数学问题的计算结果,仅返回表达式。

使用的代码:

def YearTime():
    return "Minutes in a year: (60*24)*365 "

YT = YearTime()

print(YT, "!", "Hello 2024!")

期望输出:

Minutes in a year: 525600 ! Hello 2024!

实际输出:

Minutes in a year: (60*24)*365  ! Hello 2024!

需要实现函数返回数学计算后的结果而非表达式。


解决方案

问题核心是你把数学表达式(60*24)*365作为字符串的一部分,Python不会自动解析字符串内的运算逻辑。以下是两种可行的修改方式:

方式1:使用f-string拼接计算结果

先单独计算总分钟数,再通过f-string将数值嵌入字符串:

def YearTime():
    total_minutes = (60 * 24) * 365
    return f"Minutes in a year: {total_minutes} "

YT = YearTime()
print(YT, "!", "Hello 2024!")

方式2:使用str.format()格式化字符串

如果不熟悉f-string,也可以用传统的字符串格式化方法:

def YearTime():
    total_minutes = (60 * 24) * 365
    return "Minutes in a year: {} ".format(total_minutes)

YT = YearTime()
print(YT, "!", "Hello 2024!")

原理说明

当表达式被包裹在引号中时,它会被识别为普通文本字符串,Python不会执行任何计算。只有将表达式放在引号外部,让Python先完成运算得到数值,再将数值与文本拼接,才能得到包含计算结果的字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:12:25