如何在Python单位转换菜单代码中正确使用return语句
问题排查与修复
你的代码存在两个核心问题,导致无法达到预期效果:
return后未指定返回值:Python的return语句用于将函数内部的计算结果传递到函数调用位置,仅写return不跟变量/值的话,函数默认返回空值None,你计算得到的kilo转换结果根本没有被传递出来- 打印语句未输出计算结果:原有
print('Distance in kilometers: ')仅输出了提示文本,没有拼接实际转换得到的千米数值,运行后自然看不到结果
符合要求的修正代码
# 打印转换菜单 def print_menu(): print('I. 米转千米') # 米转千米函数,返回转换后的千米值 def m_kilo(): m = float(input("输入要转换为千米的米数:")) kilo = m * 0.001 # 把计算得到的kilo作为返回值传出 return kilo print_menu() choice = input("输入转换选项:") if choice == 'I': # 接收函数返回的计算结果 result = m_kilo() print(f'转换后的千米数:{result}')
补充说明
如果希望把打印逻辑也放在转换函数内,也可以写成如下形式,return依然可以正常生效:
def m_kilo(): m = float(input("输入要转换为千米的米数:")) kilo = m * 0.001 print(f'转换后的千米数:{kilo}') # 此处返回kilo后,外部调用位置依然可以接收结果做后续计算 return kilo
内容的提问来源于stack exchange,提问作者Ceceeeee
相关产品推荐
相关产品推荐

