如何将用户输入与函数结合实现交互式km/h转m/s转换器?
实现支持用户输入的km/h到m/s转换器
你的现有代码已经实现了单位转换逻辑,但目前是固定传入数值45,要支持用户动态输入,只需要添加输入获取和类型转换的逻辑,以下是修改后的代码:
# 定义转换系数:1km=1000m,1h=3600s km_to_m = 1000 h_to_s = 3600 def conversion_of_units(kmh_value): m_s_value = kmh_value * km_to_m / h_to_s print(f'{kmh_value} km/h 等于 {m_s_value:.2f} m/s') # 获取用户输入并处理可能的非法值 user_input = input("请输入要转换的km/h数值:") try: kmh_input = float(user_input) conversion_of_units(kmh_input) except ValueError: print("请输入有效的数字!")
关键改动说明:
- 变量名优化:将原
km_h和m_s改为更清晰的km_to_m和h_to_s,避免和单位缩写混淆 - 添加
input()函数:用于捕获用户在控制台输入的内容 - 类型转换:用
float()将用户输入的字符串转为数值类型,确保能进行数学运算 - 异常处理:通过
try-except捕获用户输入非数字的情况,给出友好提示 - 输出格式化:用
.2f保留两位小数,让结果更易读
如果需要简化版(不做异常处理),可以写成:
km_to_m = 1000 h_to_s = 3600 def conversion_of_units(kmh_value): print(f'{kmh_value} km/h 等于 {kmh_value * km_to_m / h_to_s} m/s') kmh_input = float(input("请输入km/h数值:")) conversion_of_units(kmh_input)
内容的提问来源于stack exchange,提问作者Max Herrera
相关产品推荐
相关产品推荐

