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
相关产品推荐
相关产品推荐

