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

Ruby中while循环异常:未执行输入请求直接输出结果

问题分析与修复方案

嘿,我一眼就揪出问题所在啦!你的while循环条件写反了,导致循环直接被跳过,根本没机会执行输入提示的逻辑。

问题根源

你初始化了adeviner = 4,但循环条件写的是while adeviner != 4——这条件从一开始就不成立啊!程序直接跳过循环体,直奔最后的puts语句,自然不会提示你输入数字。

修复后的代码

我们需要把循环条件改成判断用户输入的数字是否不等于目标数,同时增加反馈逻辑,让用户知道自己猜的是大了还是小了:

adeviner = 4
a = 0
while a != adeviner  # 改成判断用户输入的a是否不等于目标数字
  puts "Entrez votre chiffre"
  a = gets.chomp.to_i
  
  # 增加输入反馈,提升交互体验
  if a > adeviner
    puts "Trop grand ! Essayez encore."
  elsif a < adeviner
    puts "Trop petit ! Essayez encore."
  end
end
puts "vous avez devine le chiffre"

运行效果说明

  • 输入3时,程序会提示Trop petit ! Essayez encore.并让你继续输入
  • 输入5时,程序会提示Trop grand ! Essayez encore.并让你继续输入
  • 输入4时,循环结束,输出vous avez devine le chiffre

这样就完全符合你的需求啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:24:19