Python中main()无法识别返回值,报'name 'conversion' is not defined'错误
解决"name 'conversion' is not defined"错误并接收函数返回值
问题出在你调用convert(time)时,没有把函数的返回值赋值给main函数里的变量。conversion是convert函数内部的局部变量,只能在函数内部使用,main函数无法直接访问它。
只需要修改main函数里的代码,把函数调用的结果赋值给一个变量(可以叫conversion,也可以是其他名字),之后就能正常打印这个值了:
def main(): time = input("What time is it? ") # 将convert函数的返回值赋值给conversion变量 conversion = convert(time) print(conversion) def convert(time): hours, minutes = time.split(":") print("==1== " + f'{hours = }' + f'{minutes = }') print("==2== " + f'{hours = }') print("==3== Float of hours", float(hours)) print("==4== Float of minutes", float(minutes)) conversion = float(hours)+(float(minutes)/60) print ("==5== ",f'{conversion = }') print ("==6== ", conversion) return conversion if __name__ == "__main__": main()
这样修改后,main函数就能拿到convert返回的十进制时间值并打印,同时你的调试语句也能正常工作。
内容的提问来源于stack exchange,提问作者JPnAZ
相关产品推荐
相关产品推荐

