编写程序,使用eval(input())按字典格式输入图形名和面积的字典。 计算最大、最小、平均面积并输出,面积保留2位小数; 查找所有等于平均面积的图形,按列表的形式打印出图形名称,如果没有满足要求的图形,则输出"无满足要求的图形",提示列表输出时可采用 print("{}的面积等于平均面积".format(列表))语句 需检查输入面积的合法性(面积为数值型且非负)。
时间: 2024-02-06 14:10:45 浏览: 66
以下是代码实现:
```
# 输入图形名和面积的字典
shape_dict = eval(input("请输入图形名和面积的字典:"))
# 计算最大、最小、平均面积
area_list = list(shape_dict.values())
max_area = max(area_list)
min_area = min(area_list)
avg_area = sum(area_list) / len(area_list)
# 输出最大、最小、平均面积
print("最大面积为:{:.2f}".format(max_area))
print("最小面积为:{:.2f}".format(min_area))
print("平均面积为:{:.2f}".format(avg_area))
# 查找所有等于平均面积的图形
same_area_list = []
for shape, area in shape_dict.items():
if area == avg_area:
same_area_list.append(shape)
# 输出等于平均面积的图形
if len(same_area_list) == 0:
print("无满足要求的图形")
else:
print("{}的面积等于平均面积".format(same_area_list))
```
注意:本题中需要检查输入面积的合法性(面积为数值型且非负),但是在eval函数中无法进行输入检查,所以此处并未添加检查面积的代码。如果需要检查面积的合法性,可以在输入时使用while循环判断输入是否合法。
阅读全文