You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改现有Python代码,实现符合预期格式的星号字母C打印

解决方案

核心修改点

  • 重命名原绘制A的函数为draw_C,适配字母C的结构逻辑
  • 调整中间行的判断逻辑:仅在上下横线紧邻的两行添加右侧星号,中间行仅保留左侧星号
  • 简化冗余的工具函数,直接根据位置输出对应行内容

完整修改后代码

import math

# 绘制字母C的上下横线
def draw_top_bottom(width, symbol):
    print(" " + symbol*(width))

# 绘制字母C核心逻辑
def draw_C(width, height, symbol):
    print(" ")
    # 输出顶部横线
    draw_top_bottom(width, symbol)
    # 输出中间行
    for i in range(1, height):
        if i == 1 or i == height - 1:
            # 上下紧邻横线的行,左右都加星号
            print(symbol + " "*(width) + symbol)
        else:
            # 中间行仅保留左侧星号
            print(symbol)
    # 输出底部横线
    draw_top_bottom(width, symbol)
   
# 获取合法的用户输入(大于等于5的奇数)
def get_height():
    height = int(input("Enter an odd number 5 or greater: "))
    while(1):
        if (height % 2)==0 or (height < 5) :
            height = int(input("-> Error! Try again: "))
        else :
            break
    return height

# 主调用函数
def draw_letter(symbol):
    height = get_height()
    width = height - 2
    draw_C(width, height, symbol)

draw_letter('*')

效果验证

输入5时输出完全符合预期:

Enter an odd number 5 or greater: 5

 ***
*   *
*
*
*   *
 ***

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:06:07