披萨切片面积计算程序问题:多切片展示与退出逻辑修复
修正后的Python披萨切片面积计算程序
import math def calculate_pizza_slice_area(diameter, slices): radius = diameter / 2 total_area = math.pi * radius ** 2 return total_area / slices while True: try: diameter_input = input("请输入披萨直径(英寸,输入0退出):") diameter = float(diameter_input) if diameter == 0: print("程序已退出") break if diameter < 0: print("直径不能为负数,请重新输入") continue # 定义需要计算的切片数量集合 slice_counts = [6, 8, 10, 12, 16] print(f"\n直径为{diameter}英寸的披萨各切片数对应的单切片面积:") for count in slice_counts: area = calculate_pizza_slice_area(diameter, count) print(f"- {count}切片:{area:.2f}平方英寸") except ValueError: print("输入无效,请输入数字")
问题解决说明
1. 批量计算并展示多切片数的面积
- 定义固定切片数列表
slice_counts = [6, 8, 10, 12, 16] - 通过
for循环遍历列表,逐个调用计算函数并输出对应结果,确保每个切片数的面积单独展示
2. 输入0实现程序退出
- 在转换输入为浮点数后,增加判断
if diameter == 0,满足条件时打印退出提示并执行break终止循环,实现退出功能
3. 面积计算逻辑验证
披萨切片面积的计算逻辑是正确的:
- 由直径计算半径:
radius = diameter / 2 - 计算披萨总面积:
total_area = π * radius²(使用math.pi获取高精度π值) - 单切片面积 = 总面积 / 切片数
- 以输入23.5英寸为例验证:
- 半径 = 23.5 / 2 = 11.75英寸
- 总面积 ≈ 3.1416 * 11.75² ≈ 433.71平方英寸
- 6切片面积 ≈ 433.71 /6 ≈72.29平方英寸,计算逻辑准确
内容的提问来源于stack exchange,提问作者Justified Ninja
相关产品推荐
相关产品推荐

