【问题标题】:Ruby | Problem with method for build pyramids红宝石 |建造金字塔的方法有问题
【发布时间】:2021-07-08 17:15:13
【问题描述】:

我已经有一个程序可以让你用“#”建立一个金字塔,但我想用方法制作一个新文件。我不明白为什么它不起作用。我已经测试了很多代码。我什至删除了 25 故事循环。

puts "Salut, bienvenue dans ma super pyramide ! Combien d'étages veux-tu ?"

print ">"

etages = gets.chomp.to_i
espace = etages - 1
carre = 1

while etages > 25 
    puts "Réessayez ! La pyramide ne doit pas excéder 25 étages !"
    print "> "
    etages = gets.chomp.to_i
  end

etages.times do
    espace.times do
        print " "
      end
     espace -= 1
    carre.times do
        print "#"
        end
        carre += 2
        puts " "
    
    
end

def ask_etages
    puts "Salut, bienvenue dans ma super pyramide ! Combien d'étages veux-tu ?"
    print ">"
    etages = gets.chomp
    return etages
end

def full_pyramid
    espace = etages - 1
    carre = 1

    etages.times do
        espace.times do
            print " "
          end
         espace -= 1
        carre.times do
            print "#"
            end
            carre += 2
            puts " "
           
    end

        end
    

def perform
    ask_etages
    full_pyramid
end

perform

【问题讨论】:

  • 关于问题标签的注释。读者使用标签来过滤问题,通常用于识别感兴趣的问题,但也用于识别不感兴趣的问题。我删除了 Rails 标记,因为这是一个纯 Ruby 问题。除了“ruby”之外,其余标签没有害处,但不太可能被读者用来过滤问题。出于这个原因,我建议只有一个标签,“红宝石”。此外,由于“ruby”标签,标题中无需包含“Ruby”。
  • 我明白了,很抱歉
  • 请解释您期望的行为以及实际发生的情况。我不建议在复制过程中添加用户交互。如果您必须添加用户交互,请显示失败的示例运行。见minimal reproducible example

标签: ruby function methods integer


【解决方案1】:

基本上你需要将变量espace传递给你的方法full_pyramid,所以你只需要做一点小改动。

由于ask_etages 要求用户输入(旁注:使用puts 而不是print)然后将该值作为整数返回,您需要将其传递给full_pyramid

这样做只需将方法定义为:

def full_pyramid(etages)
  espace = etages - 1
  carre = 1
  etages.times do
    espace.times do
      print " "
    end
    espace -= 1
    carre.times do
      print "#"
    end
    carre += 2
    puts " "
  end
end

然后将perform定义为:

def perform
    full_pyramid(ask_etages)
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-18
    • 2016-03-23
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2015-03-21
    相关资源
    最近更新 更多