arrays - 如何返回包含用户输入的数组数组?
问题描述
下面的代码会将名称分组(例如,第一人进入第一组,第二人进入第二组等)。
我想输入最后一段代码并要求用户输入组号。这应该打印该组中的人,每个人用逗号和空格分隔。组号是“1-indexed”的。这意味着,如果用户输入1
,则应该打印第一组,而不是第二组。继续向用户询问(最终)组号,直到用户输入stop
。
puts "How many groups would you like?"
group_num = gets.chomp.to_i
array = Array.new(group_num) { [] }
puts "Enter one name at a time"
count = 0
while input_name = gets.chomp
if input_name == "stop"
break
else puts "Give me a name"
array[count] << input_name
count += 1
count = 0 if count == group_num
end
end
array.inspect
因此,如果array = [["John", "Steve"], ["Judy", Pete"]]
请求的组号为2
,则输出应打印:("Judy, Pete"
在同一行)。
解决方案
给定数组和想要的索引非常简单
array = [["John", "Steve"], ["Judy", "Pete"]]
puts "tell me which group you want with a number"
number = gets.to_i
if (1..array.length).include?(number)
puts "people: #{array[number - 1].join(", ")}"
else
puts "Number element not present"
end
推荐阅读
- python - 无法根据特定字符串选择行
- node.js - ng serve - 此版本的 CLI 仅与 Angular ^13.0.0 兼容
- python - Tensorflow 在 .map 函数中访问 tensor.numpy() 但使用 py_function 会减慢迭代器的生成速度
- android - 在 Android 中编写响应正文的正确方法是什么?
- vue.js - 部署后,即使 yarn start 工作,Vue Nuxt SPA 也无法正确显示
- c - 比较两个字符串,如 strcmp 错误错误:一元'*'的无效类型参数(有'int')
- c# - ASMX 无法设置已知类型属性
- java - 如何使我的底页对话框动态化?
- java - 如何从 Postman 获取 POST 请求的令牌
- python - 使用 Scipy 生成并绘制正态分布 N[5,3²] 的概率密度函数 (PDF)