【问题标题】:How to have the user input alternate between uppercase and lowercase in Ruby?如何在 Ruby 中让用户输入在大写和小写之间交替?
【发布时间】:2015-05-12 00:54:31
【问题描述】:

我让 Ruby 要求用户输入一个名称五次,并希望每行都吐出答案,以大写和小写交替出现。下面是我所做的,它打印出每个名字两次,一个大写一个小写。但我只希望每行在大写和小写之间交替。我希望我在这里有意义...

Football_team = []

5.times do 
    puts "Please enter a UK football team:"
    Football_team << gets.chomp
end

Football_team.each do |Football_team|
    puts team.upcase
    puts team.downcase
end

【问题讨论】:

    标签: arrays ruby upcase


    【解决方案1】:
    football_team = []
    
    5.times do 
      puts "Please enter a UK football team:"
      football_team << gets.chomp
    end
    
    football_team.each_with_index do |team, index|
      if index.even?
        puts team.upcase
      else
        puts team.downcase
      end
    end
    

    请注意,您应该只对常量使用以大写字母开头的标识符。虽然Football_team 可能是一个常数,但它通常不是一个好主意。另请注意,您的循环变量是错误的。

    【讨论】:

    • 非常感谢!索引.偶数?正是我想要的!只是似乎无法在任何地方在线找到它。或者我只是没有问对问题。我会试着弄清楚为什么我的循环变量是错误的。再次感谢。
    【解决方案2】:

    你真的不需要两个循环。您可以一次性完成所有操作。见下文

    football_team = []
    
    5.times do |i|
        puts "Please enter a UK football team:"
        team = gets.chomp
    
        if i.even?
            football_team << team.upcase
        else
            football_team << team.downcase
        end
    end
    
    puts football_team
    

    或者,同样的解决方案,但简写:

    football_team = []
    
    5.times do |i|
        puts "Please enter a UK football team:"
        i.even? ? football_team << gets.chomp.upcase : football_team << gets.chomp.downcase
    end
    
    puts football_team
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-25
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多