從Ruby開始並進行練習我在網上找到了。最初,這只是製作一個腳本,它會生成一個隨機數,並讓用戶猜測它是什麼,並反饋這些猜測是否過高「熱」或太低「冷」。Ruby:如果while循環中斷,則放置一條消息,如果while循環結束,則放置另一條消息
我想通過給用戶5次猜測來補充這一點。所以我想讓腳本說「正確!你贏了!」如果用戶猜測正確,但說「對不起,你輸了,正確答案是#{答案}。」如果你用盡了所有的猜測。
我的代碼:
answer = rand(1..100)
guess_count = 5
puts answer
print "Pick a number between 1 and 100. You get 5 guesses. "
guess = gets.chomp.to_i
while guess_count > 1
guess_count -= 1
break puts "Correct! You win!" if guess == answer
if guess > answer
print "Hot. "
else
print "Cold. "
end
puts guess_count != 1 ? "Guess again. You have #{guess_count} guesses left." : "Guess again. You have 1 guess left."
guess = gets.chomp.to_i
end puts "Sorry, you lose. The correct answer was #{answer}."
但是,這並不工作,因爲你不能釘說,「看跌期權」行「結束」的結尾一樣,你可以用「破發」。有什麼建議麼?
謝謝。
謝謝,能夠完成任務。我想我更感興趣的是,如果有任何方法可以在一行中完成所有操作,「當它到達循環結束時會發生,但是如果循環提前退出,則會被忽略」。但我想這不存在。 – Eugene