Python采集年月日输入转总年份计算代码输出错误如何修复?
Python代码修改方案
原代码存在4个需要修正的问题:
input()返回值为字符串类型,需转换为数值类型才能参与算术运算- 调用
gettime函数时未传入y、m、d三个必填参数 - 数值计算结果不能直接和字符串用
+拼接,需做类型转换或者用字符串格式化输出 - 计算结果需保留1位小数,匹配示例输出格式要求
修改后的完整代码如下:
# 采集用户输入并转换为float类型 y = float(input("Enter year: ")) m = float(input("Enter months: ")) d = float(input("Enter the days: ")) def gettime(y, m, d): totaltime = y + m / 12 + d / 365 return totaltime # 调用函数并格式化输出,保留1位小数 total_years = gettime(y, m, d) print(f"Total time in years is {total_years:.1f} years")
用示例输入测试的话,2年+6/12年+73/365年=2+0.5+0.2=2.7,完全符合预期输出要求。
内容的提问来源于stack exchange,提问作者NecronTombWorld
相关产品推荐
相关产品推荐

