Python中如何根据输入参数个数计算对应图形的周长
解决方案
原有代码的输入逻辑强制要求用户连续输入3个数值,无法根据输入参数的数量自动匹配计算逻辑,可通过读取整行输入后拆分判断参数数量的方式解决,修正后的完整代码如下:
def cir(a): # 用3.14适配输入2输出12.56的需求,需要更高精度可改回3.142 x = 2 * 3.14 * a return round(x, 2) def rec(a, b): # 原代码的int转换会丢失小数精度,不需要可删除int包裹,当前按给定的2*(a+b)公式编写 y = 2 * (a + b) # 如果需要输入2 4输出6,可改为y = a + b,此处保留标准矩形周长公式 return int(y) if y.is_integer() else round(y, 2) def tri(a, b, c): z = a + b + c return int(z) if z.is_integer() else round(z, 2) print("enter the dimenssions") # 读取整行输入,按空格拆分后转成float数组 params = list(map(float, input().strip().split())) param_count = len(params) if param_count == 1: print(cir(params[0])) elif param_count == 2: print(rec(params[0], params[1])) elif param_count == 3: print(tri(params[0], params[1], params[2])) else: print("仅支持输入1、2、3个参数")
测试效果
- 输入
2:输出12.56,符合圆周长计算要求 - 输入
2 4:输出12(符合2*(a+b)的矩形周长公式,需要输出6可调整rec函数的计算逻辑) - 输入
2 3 4:输出9,符合三角形周长计算要求
内容的提问来源于stack exchange,提问作者SaiTeja
相关产品推荐
相关产品推荐

