为何经convert函数转换后,时间变量仍为str类型而非float?
问题解决:时间转换后变量类型未更新的原因及修复
你的代码问题出在没有接收convert()函数的返回值:
调用convert(meal_time)时,函数确实会把时间字符串转换成float类型并返回,但你没有将这个返回值重新赋值给meal_time变量,所以原变量meal_time依然是初始输入的字符串类型。
修复后的代码
def main(): meal_time = input("What time is it?").strip() # 将函数返回的float值赋值给meal_time meal_time = convert(meal_time) print(type(meal_time)) def convert(time): hour, minu = time.split(":") hour = float(hour) minu = float(minu) / 60 return float(hour + minu) if __name__ == "__main__": main()
验证结果
输入7:30后,输出会变为:
<class 'float'>
内容的提问来源于stack exchange,提问作者bydmzd
相关产品推荐
相关产品推荐

