为什么Python中主函数中的函数在应该返回浮点数时总是返回“none”?

问题描述 投票:0回答:1

为了学习Python,我试图从用户那里获取一个字符串,将该字符串转换为浮点数。我需要将分钟转换为十进制数。这就是“转换”功能的目的。

但我总是得到“none”作为输出。怎么了?

   def main():
    
     time = input("what time is it?")
    
     def convert (a):

   #this split the string 

        x, z = time.split(":")
        x = float(x)
        z = float(z)

  #converts hours and minutes to float

        if z > 0:
           z = z / 60

  #converts minutes to decimals

        else:
          z = 0
          k = x + z
          return k
    
     result = convert(time)
     print(result)
    
    if __name__ == "__main__":
        main()
python function type-conversion minute
1个回答
1
投票

您的代码问题与转换函数的范围和返回值有关。具体来说,return 语句放置在 else 块内,这意味着如果条件 if z > 0 为 true,则函数结束时不会遇到 return 语句,因此默认返回 None。

© www.soinside.com 2019 - 2024. All rights reserved.