这是一个编程编写程序,使用eval(input())按字典格式输入图形名和面积的字典。 计算最大、最小、平均面积并输出,面积保留2位小数; 查找所有低于平均面积的图形,按列表的形式打印出图形名称,如果没有满足要求的图形,则输出"无满足要求的图形",提示列表输出时可采用 print("{}的面积低于平均面积".format(列表))语句 需检查输入面积的合法性(面积为数值型且非负)。 输入格式: 按输入样例,输入一个包含图形名、面积的字典 输出格式: 按输出样例格式输出,如果输入面积是不合法的,则输出:“Wrong Format”
时间: 2024-02-06 15:10:12 浏览: 60
以下是一个可能的解法:
```python
shapes = eval(input())
# 计算最大、最小、平均面积
areas = list(shapes.values())
if not all(isinstance(area, (int, float)) and area >= 0 for area in areas):
print("Wrong Format")
else:
max_area = max(areas)
min_area = min(areas)
avg_area = sum(areas) / len(areas)
# 查找所有低于平均面积的图形
below_avg = [name for name, area in shapes.items() if area < avg_area]
if below_avg:
print("最大面积为{:.2f},最小面积为{:.2f},平均面积为{:.2f}".format(max_area, min_area, avg_area))
print("{}的面积低于平均面积".format(below_avg))
else:
print("无满足要求的图形")
```
其中,我们首先使用 `eval(input())` 将输入的字符串转换为字典。然后,我们检查每个面积是否为非负数值型,如果存在不合法的面积则输出 "Wrong Format"。如果所有面积都合法,则计算最大、最小、平均面积,并使用列表推导式查找所有低于平均面积的图形。如果存在这样的图形,则输出相应信息;否则,输出 "无满足要求的图形"。注意,在输出低于平均面积的图形列表时,我们使用了 `format()` 方法来格式化输出字符串。
阅读全文