ruby实现石头剪刀布游戏示例_ruby专题

ruby实现石头剪刀布游戏

复制代码 代码如下:

#encoding: utf-8
arr = ['石头', '剪刀', '布']
win_arr = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']]
#随机computer的值,放入result数组中
result = [arr.sample]
while (true)
  puts "请输入石头、剪刀、布"
  input_value = gets.force_encoding("GBK").encode("UTF-8").chomp
  if arr.include? input_value
    result << input_value
    if result[0] == result[1]
      puts '平手'
    elsif win_arr.include? result
      puts '电脑获胜'
    else
      puts '您获胜了'
      break
    end
  else
    puts '输入的值有误,请输入石头、剪刀、布'
    next
  end
end

时间: 2024-09-23 00:36:08

ruby实现石头剪刀布游戏示例_ruby专题的相关文章

Luhn算法学习及其Ruby版实现代码示例_ruby专题

关于LUHN算法LUHN算法,主要用来计算信用卡等证件号码的合法性. 1.从卡号最后一位数字开始,偶数位乘以2,如果乘以2的结果是两位数,将两个位上数字相加保存. 2.把所有数字相加,得到总和. 3.如果信用卡号码是合法的,总和可以被10整除. Luhn 算法或是Luhn 公式,也被称作"模10算法".它是一种简单的校验公式,一般会被用于身份证号码,IMEI号码,美国供应商识别号码,或是加拿大的社会保险号码的验证.该算法是由IBM的科学家Hans Peter Luhn所创造,于1954

Ruby中的异常处理代码编写示例_ruby专题

单个异常使用 fail 关键字仅仅当捕获一个异常并且反复抛出这个异常(因为这里你不是失败,而是准确的并且故意抛出一个异常). begin fail 'Oops' rescue => error raise if error.message != 'Oops' end     不要为 fail/raise 指定准确的 RuntimeError.     # bad fail RuntimeError, 'message' # good - signals a RuntimeError by def

Ruby中的字符串编写示例_ruby专题

优先使用 字符串插值 来代替 字符串串联. # bad email_with_name = user.name + ' <' + user.email + '>' # good email_with_name = "#{user.name} <#{user.email}>" # good email_with_name = format('%s <%s>', user.name, user.email)     Consider padding st

Ruby实现二分搜索(二分查找)算法的简单示例_ruby专题

在计算机科学中,二分搜索(英语:binary search),也称折半搜索(英语:half-interval search).对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法.搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束:如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较.如果在某一步骤数组为空,则代表找不到.这种搜索算法每一次比较都使搜索范围缩小一半

Ruby实现插入排序算法及进阶的二路插入排序代码示例_ruby专题

基础将一个记录插入到一个已经排序好的表中,以得到一个记录增一的有序表.并且最关键的一点就是它把比当前元素大的记录都往后移动,用以空出"自己"该插入的位置.当n-1趟插入完成后该记录就是有序序列. def insertSort(tarray) i=1 while(i < tarray.size) do if tarray[i] < tarray[i-1] j=i-1 x=tarray[i] #puts x.class #puts tarray[i].class tarray[

Ruby使用Monkey Patch猴子补丁方式进行程序开发的示例_ruby专题

猴子补丁(Monkey Patch)是一种特殊的编程技巧.Monkey patch 可以用来在运行时动态地修改(扩展)类或模块.我们可以通过添加 Monkey Patch 来修改不满足自己需求的第三方库,也可以添加 Monkey Patch 零时修改代码中的错误. 词源Monkey patch 最早被称作 Guerrilla patch,形容这种补丁像游击队员一样狡猾.后来因为发音相似,被称为 Gorilla patch.因为大猩猩不够可爱,后改称为 Monkey patch. 使用场景以我的理

Ruby中百分号和字面值的使用示例_ruby专题

    需要插值与嵌入双引号的单行字符串使用 %() (是 %Q 的简写).多行字符串,最好用 heredocs . # bad (no interpolation needed) %(<div class="text">Some text</div>) # should be '<div class="text">Some text</div>' # bad (no double-quotes) %(This is

ruby判断一个数是否为质数(素数)示例_ruby专题

ruby判断一个数是否为质数 质数又称素数.一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除的数:(除0以外)否则称为合数 .根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积:而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的. 复制代码 代码如下: def prime?(num)  res = [1]  res << num   if num == 0 || num == 1    return false  end   2.u

ruby使用restclient上传服务器本地文件示例_ruby专题

使用RestClient上传服务器本地文件 复制代码 代码如下: url = 'http://xx' #post到urlfield_hash = {key: key, token: token}  #post数据request = RestClient.post url, field_hash.merge(file: File.new(File.join('public', "#{params[:logo]}"), 'rb'))  #上传文件 reponse = request.to_