Python中如何将get_Time函数返回值传入simple_Interest的t变量
现有代码问题梳理
- 缺少日期参数
d的输入逻辑,调用get_Time时使用的d变量未定义会触发报错 simple_Interest函数的return语句缩进错误,当前不属于函数体内容,运行时会抛出语法错误- 输入的本金
p、利率r都是字符串类型,传入计算函数前需要转换为数值类型,否则会触发类型错误
实现方案
要把get_Time的输出结果存入simple_Interest内部的t变量,只需要先把get_Time的返回值存到中间变量,再作为实参传入simple_Interest即可,函数的形参t会自动接收该值。
修正后的完整代码如下:
# 补全所有必要参数的输入 y = input("Enter value for year: ") m = input("Enter value for month: ") d = input("Enter value for day: ") p = input("Enter value for principle: ") r = input("Enter value for rate (in %): ") def get_Time(y, m, d): total_time = y + m / 12 + d / 365 return total_time # 先获取get_Time的计算结果 total_t = get_Time(int(y), int(m), int(d)) print ("The total time in years is: " , total_t) def simple_Interest(t, p, r): # 函数内部的t变量已经拿到了传入的get_Time计算结果 simplint = p *(r / 100) * t return simplint # 调用单利计算函数,传入总时长、转换类型后的本金和利率 interest = simple_Interest(total_t, float(p), float(r)) print("Calculated simple interest is:", interest)
内容的提问来源于stack exchange,提问作者ImperiumOfMan
相关产品推荐
相关产品推荐

