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