代码之家  ›  专栏  ›  技术社区  ›  JPnAZ

Python main()无法识别返回值

  •  -1
  • JPnAZ  · 技术社区  · 1 年前

    1-当我试图从main内部打印返回值时,我会出现此错误=>“未定义名称'conversion'” 2-我有一些伪打印来调试我的代码

    def main():
        time = input("What time is it? ")
        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中注释掉打印(转换)。如果我这样做,我不会得到错误,但我应该将一个十进制值返回到main

    1 回复  |  直到 1 年前
        1
  •  3
  •   John Gordon    1 年前

    仅仅调用一个函数并不会像您所期望的那样自动检索其返回值。

    你需要 分配 其返回值为变量:

    def main():
        time = input("What time is it? ")
        conversion = convert(time)
        print (conversion)
    

    你已经知道了,因为你做了正确的分配 time 返回的值来自 input() 在前一行。