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

如何实现输入数字生成对应数量的#?现有代码输出数量不符问题

问题分析

你的代码核心问题出在循环条件和冗余的total变量上:

  • 初始时hashtag=1,total = number * hashtag本质就是number(1乘任何数等于自身)
  • 循环条件hashtag != total会在hashtag等于输入数字时直接终止循环,比如输入4时,仅会在hashtag=1、2、3时执行打印,少了最后一次循环。
解决方案

方案1:修正while循环逻辑

把循环条件改为hashtag <= number,让hashtag从1到输入数字的每一个值都触发打印:

number = int(input("Input the number of # you want."))
hashtag = 1
while hashtag <= number: 
    print("#")
    hashtag = hashtag + 1

方案2:用for循环更简洁(推荐)

Python的for循环搭配range()函数天生适合这种固定次数的重复操作,代码可读性更强:

number = int(input("Input the number of # you want."))
for _ in range(number):
    print("#")

range(number)会生成包含number个元素的序列,循环会严格执行对应次数,完美匹配需求。

方案3:一行代码直接生成结果

如果不需要逐行打印,想一次性输出所有#,可以利用Python字符串乘法特性:

number = int(input("Input the number of # you want."))
print("#" * number)

"#" * 4会直接生成字符串"####",打印后就是对应数量的#。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:20:41