用python编写一个编程编写程序,使用eval(input())按字典格式输入图形名和面积的字典。 计算最大、最小、平均面积并输出,面积保留2位小数; 查找所有低于平均面积的图形,按列表的形式打印出图形名称,如果没有满足要求的图形,则输出"无满足要求的图形",提示列表输出时可采用 print("{}的面积低于平均面积".format(列表))语句 需检查输入面积的合法性(面积为数值型且非负)。 输入格式: 按输入样例,输入一个包含图形名、面积的字典 输出格式: 按输出样例格式输出,如果输入面积是不合法的,则输出:“Wrong Format”
时间: 2024-02-06 18:10:10 浏览: 65
以下是一个可能的解法:
```python
import math
# 读入图形名和面积的字典
data = eval(input())
# 将面积值提取出来并检查合法性
areas = []
for area in data.values():
if isinstance(area, (int, float)) and area >= 0:
areas.append(area)
else:
print("Wrong Format")
exit()
# 计算最大、最小、平均面积
max_area = max(areas)
min_area = min(areas)
avg_area = sum(areas) / len(areas)
# 输出最大、最小、平均面积
print("最大面积为:{:.2f}".format(max_area))
print("最小面积为:{:.2f}".format(min_area))
print("平均面积为:{:.2f}".format(avg_area))
# 查找所有低于平均面积的图形并输出
below_avg = []
for name, area in data.items():
if area < avg_area:
below_avg.append(name)
if below_avg:
print("{}的面积低于平均面积".format(below_avg))
else:
print("无满足要求的图形")
```
使用示例:
输入:
```
{'circle': 3.14, 'square': 4, 'rectangle': 6, 'triangle': 2}
```
输出:
```
最大面积为:6.00
最小面积为:2.00
平均面积为:3.54
['circle', 'triangle']的面积低于平均面积
```
阅读全文