Ruby语言学习——第一个程序(猜数字游戏)

程序描述:

猜数字游戏,一个人有10次机会,向终端输入数字,程序自动与要猜的数做判断,给出大或小的提示,猜对了做出反馈,如果机会用完,还没猜对,同样也要给出反馈。

程序代码如下:

puts "Welcome to 'Get My Number!'"
print "What's your name?"
input = gets
name = input.chomp
puts "Welcome,#{name}!"
puts "I've got a random number between 1 and 100."
target = rand(100)+1
num_guesses = 0
guessed_it = false
until num_guesses == 10 || guessed_it
  puts "You've got {10-num_guess} guess left."
  print "Make a guess."
  guess = gets.to_i
  num_guesses +=1
  if guess < target
    puts "Oops.You guess was LOW."
  elsif guess > target
    puts "Oops.You guess was HIGH."
  elsif guess = target
    puts "Good job,#{name}!"
    puts "Your guessed my number in #{num_guesses} guesses!"
    guessed_it = true
  end
end
unless guessed_it
  puts "Sorry.You didn't get my number.(It was #{target}."
end

运行结果展示:

1、运行程序,输入姓名

2、给出自己猜的数字,并展示结果

相关代码解释:

1、chomp是Ruby库中的预定义方法,用于消除运行时用户输入的字符串附带的隐式换行符'\ n' 。 我们在Ruby中使用gets方法从用户处获取输入,但是它为字符串提供了新的一行。 chomp提供了删除它的帮助,因为大多数情况下,字符串中不需要换行符,因为当在字符串中进行某些时间处理时,换行符会产生问题。

2、

(1)rand 方法在 Ruby 中生成一个随机数。如果没有参数,范围将是 01

target = rand(100)+1表示目标数是0~100,如果不+1的话,范围是0~99。

(2)until循环,在不需要任何判断的情况下面,先执行一次循环体中的代码, 然后再通过until后面的判断条件来判断结果是否为“true”,如果为true,就继续执行循环体中的代码,否则就结束循环。

num_guesses = 0
guessed_it = false
until num_guesses == 10 || guessed_it

num_guesses 变量表示尝试猜测的次数,初始值为 0。guessed_it 变量用于跟踪猜测是否正确,初始值为 false

guessed_itfalse 时,程序会提示用户猜测,直到用户成功猜中答案,才会使 guessed_it 变为 true。此时,程序会检查 num_guesses 是否等于 10 或 guessed_it 是否为 true。如果是,那么程序会打印一条消息,表明用户成功猜中了答案。否则,程序会继续提示用户猜测,直到用户成功猜中答案为止。

(3)to_i  to_i就是将字符串转换为数值

(4)if.. elsif..end 条件语句,相当于java中的 if else

3、unless和if语句作用相反。

(1)语法

unless conditional [then] code [else code ] end

(2)参数及描述

unlessunless 条件判断使用的关键字
conditional

条件判断语句,必须返回真或者假

(3)在 Ruby 中,unless 语句和 if 语句作用相反,即如果 conditional 为假,则执行 code。如果 conditional 为真,则执行 else 子句中指定的 code。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值