Python实现用户输入指定单词映射为对应数值代入方程计算
实现方案
直接使用字典做字符串到数值的映射即可,代码可维护性和扩展性都更强,还可以兼容用户输入大小写、带多余空格的场景,同时增加异常捕获避免非法输入导致程序崩溃:
# 定义关键词与对应数值的映射关系,后续调整数值/新增关键词直接修改这里即可 value_mapping = { "A": 6, "B": 6, "C": 6 } x = input("Enter number: ") y_input = input("Enter A, B, or C: ") try: # 处理用户输入的空格、大小写问题 processed_y = y_input.strip().upper() y_val = float(value_mapping[processed_y]) x_val = float(x.strip()) z = 10 ** (x_val - y_val) percent = z * 100 # 此处保留你原来的输出逻辑即可 print(f"计算结果:{percent:.2f}") except KeyError: print("输入的选项无效,请输入A/B/C中的任意一个") except ValueError: print("输入的数值格式错误,请检查后重新输入")
方案说明
- 字典映射的方式不需要定义大量冗余变量,后续如果要新增
D对应8、E对应10这类规则,只需要在value_mapping中新增键值对即可,不需要修改运算逻辑 strip()用于自动清除用户输入前后误输入的空格,upper()可以兼容用户输入小写a/b/c的场景- 异常捕获可以避免用户输入非法内容时程序直接报错退出
内容的提问来源于stack exchange,提问作者meh47336
相关产品推荐
相关产品推荐

