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

如何实现自定义上下限且上半部分星号遮挡的乘法表?

实现带星号遮挡的自定义上下限乘法表

要解决重复数字的遮挡问题,核心逻辑是利用乘法交换律——i*j和j*i结果完全相同,所以只需要保留其中一侧的结果,另一侧用星号占位。具体来说,当行的数值i小于列的数值j时,输出星号代替乘积即可。

修改后的完整代码如下:

# 设置乘法表的上下限
lower_limit = int(input("Enter the minimum number for the multiplication table: "))
upper_limit = int(input("Enter the maximum number for the multiplication table: "))
# 生成乘法表的数值范围
table = range(lower_limit, upper_limit + 1)

for i in table:
    for j in table:
        # 判断是否需要遮挡:i小于j时输出星号,否则输出乘积
        if i < j:
            print("{:6s}".format("*"), end='')
        else:
            print("{:6d}".format(i * j), end='')
    print()

关键逻辑说明

  • 内层循环中添加了条件判断:当i < j时,用{:6s}格式化输出星号,保证和数字的6位宽度一致,避免表格错位;
  • 当i >= j时,正常输出乘积,这样就只保留了乘法表的下半部分(含对角线)的有效数值,上半部分用星号遮挡重复项。

示例输出

假设输入下限为2,上限为5,输出效果如下:

2     4     6     8
     *     4     6    10
     *     *     6    12
     *     *     *    16

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:13:11