Python长度范围转换程序开发求助:英尺与厘米互转实现
英尺与厘米批量范围转换程序完成方案
完整可运行代码
print("This program will convert a range of LENGTH ") print("Enter (F) to convert Feet to Centimeter") print("Enter (C) to convert Centimeter to Feet") print() # 定义转换选项常量 FEET_TO_CM = 'F' CM_TO_FEET = 'C' # 转换系数:1英尺=30.48厘米 CONVERSION_RATE = 30.48 # 获取用户选择,统一转为大写兼容大小写输入 which = input("Enter Selection: ").strip().upper() # 获取起始和结束长度,转为浮点数支持小数输入 meas_start = float(input("Enter starting length to convert: ")) meas_end = float(input("Enter ending length to convert: ")) print() # 根据选择执行对应转换逻辑 if which == FEET_TO_CM: print(" Length Length") print("Feet Centimeter") current = meas_start while current <= meas_end: cm_val = current * CONVERSION_RATE # 格式化输出,对齐数值与示例一致 print(f" {current:>5.1f} {cm_val:>7.1f}") current += 1 elif which == CM_TO_FEET: print(" Length Length") print("Centimeter Feet") current = meas_start while current <= meas_end: feet_val = current / CONVERSION_RATE print(f" {current:>7.1f} {feet_val:>10.1f}") current += 1 else: print("Invalid selection! Please enter F or C.")
关键修正说明
- 修正判断逻辑:原代码错误地用数值
meas_start和字符串比较,改为判断用户输入的转换选项which。 - 兼容大小写输入:通过
.strip().upper()处理,用户输入小写f或大写F都能被识别。 - 实现转换公式:基于1英尺=30.48厘米的固定系数,英尺转厘米用乘法,厘米转英尺用除法。
- 范围遍历逻辑:用
while循环遍历起始到结束的所有数值(步长为1,匹配示例输出),可按需修改步长支持非整数间隔。 - 格式化输出:使用f-string的格式化语法实现数值右对齐、保留1位小数,和示例排版完全匹配。
- 输入类型优化:将输入转为
float,支持小数长度的转换需求。
内容的提问来源于stack exchange,提问作者Kurosh Sigari Avendano
相关产品推荐
相关产品推荐

