You need to enable JavaScript to run this app. Python自定义box函数如何实现输入y时的指定区域填充效果
优惠活动
大模型
产品
解决方案
定价
更多

Python自定义box函数如何实现输入y时的指定区域填充效果

代码调整方案

核心问题定位

  • 原有box函数未使用传入的filled_ft参数,输出逻辑完全固定,无法根据用户输入切换效果
  • box函数无返回值,测试代码中print(box1)会额外输出None
  • 之前尝试反转逻辑时未对X形坐标位置做条件区分,导致所有内部区域统一输出点

具体修改点

  • 新增填充模式判断,根据filled_ft的取值切换内部字符的输出规则
    • 填充模式(输入y/yes):X形坐标位置输出空格,其余内部区域输出点
    • 非填充模式(输入n/no):保持原有逻辑,X形坐标位置输出点,其余内部区域输出空格
  • 移除测试代码中多余的返回值接收与打印逻辑
  • 优化填充选项的判断逻辑,兼容大小写输入

可直接运行的修改后代码

def box(box_size, filled_ft):
    is_filled = filled_ft.lower() in ("y", "yes")
    for i in range(0, box_size):
        for e in range(0, box_size):
            if (i == 0 or i == box_size - 1 or e == 0 or e == box_size - 1):
                print("#", end="")                        
            elif (i == e or i == box_size - 1 - e):
                print(" " if is_filled else ".", end="")
            else:
                print("." if is_filled else " ", end="")
        print("")   

# 测试输入逻辑
while True:
    box_size = int(input("Enter box size (> 2): "))
    if box_size >= 2:
        break
    print("try again")       
    
while True:
    filled = input("Do you want it filled?: ")
    if filled.lower() in ("yes", "y", "n", "no"):
        break
    print("try again")       
    
# 直接调用函数输出结果
box(box_size, filled)

效果说明

  • 输入符合要求的尺寸与填充选项时,输出效果与提供的示例完全匹配
  • 边框规则保持不变,仅内部区域根据填充选项切换字符分布

内容的提问来源于stack exchange,提问作者Melissa Staryo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 08:54:04