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

Python实现4-17区间输入打印指定星号图案的问题求助

功能实现方案

核心解决思路

你需要在输入环节增加循环校验逻辑,既可以拦截不在4-17区间的整数输入,也可以处理用户输入非数字的异常场景,保证程序健壮性。

完整可运行代码

while True:
    try:
        n = int(input('Enter number in range 4 to 17: '))
        # 校验取值范围
        if 4 <= n <= 17:
            break
        print("输入不符合要求,请输入4到17之间的整数")
    except ValueError:
        print("输入不是有效整数,请重新输入")

# 原有星号打印逻辑无需修改
for i in range(4, n+1, 1):
    for j in range(4, i + 1):
        print('*', end='')
    print()
for i in range(n, 4, -1):
    for j in range(4, i):
        print('*', end='')
    print()

代码说明

  • 外层while True循环会持续要求用户输入,直到拿到符合要求的参数才跳出循环
  • try-except块捕获非整数输入的报错,避免程序直接崩溃
  • 范围判断4 <= n <=17严格限制输入值的区间,符合需求
  • 原有星号图案打印逻辑保持不变,输出效果和预期一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:36:01