封装这段程序while True: a1 = float(input("请输入黏度1(mp*s): ")) b1 = float(input("请输入密度1(kg/l): ")) c1 = float(input("请输入比例1: ")) a2 = float(input("请输入黏度2(mp*s): ")) b2 = float(input("请输入密度2(kg/l): ")) result1 = a1*c1 + a2*(1-c1) result2 = b1*c1 + b2*(1-c1) choice = input("是否继续输入?(y/n)") if choice == 'n': break data_str = [] data_str.append([result1, result2])
时间: 2024-02-25 12:56:10 浏览: 222
好的,这里是一个封装后的函数,它可以接收任意数量的输入,计算加权平均值,并将结果存储到一个二维列表中。函数的名称为`input_and_calculate`,它没有参数,返回一个二维列表。
```python
def input_and_calculate():
"""
从用户输入中获取黏度和密度,计算加权平均值,并将结果存储到一个二维列表中。
返回值为一个二维列表,每个元素包含两个值:加权平均值和对应的密度。
"""
data_str = []
while True:
a1 = float(input("请输入黏度1(mp*s): "))
b1 = float(input("请输入密度1(kg/l): "))
c1 = float(input("请输入比例1: "))
a2 = float(input("请输入黏度2(mp*s): "))
b2 = float(input("请输入密度2(kg/l): "))
result1 = a1 * c1 + a2 * (1 - c1)
result2 = b1 * c1 + b2 * (1 - c1)
data_str.append([result1, result2])
choice = input("是否继续输入?(y/n)")
if choice == 'n':
break
return data_str
```
这个函数使用了一个无限循环,每次循环都会让用户输入两组黏度和密度数据,计算加权平均值,并将结果存储到二维列表中。当用户选择停止输入后,函数返回这个二维列表。
阅读全文