gpt4 book ai didi

ruby - 生成最大数量的 10 个输入

转载 作者:数据小太阳 更新时间:2023-10-29 08:59:15 24 4
gpt4 key购买 nike

这里是脚本的新手。基本上,我需要编写一个程序来接受 10 个输入数字并返回列表中最大的一个。

我有这段代码,但显然它没有运行:

class Generator

def getNumbers
number = Array.new

puts "To begin, You will need to enter your numbers."
print "Press Enter to continue."
Console_Screen.pause

10.times do
print "\nPlease enter any number: "
input = STDIN.gets
input.chop!
list.push
return list
end

list.push(number)
print list.max
end
end


Console_Screen.new
Find = Generator.new

end

任何人都可以帮助我解决我编码错误的问题吗?

最佳答案

你的代码有很多问题。其中我可以指出:

1) 您创建了一个名为number 的数组来存储您的数字,然后尝试将它们推送到另一个名为list 的变量;

2) 正如@tadman 指出的那样,您在 times block 中使用了 return,这使得该 block 只执行一次;

3) 您从未调用 getNumbers 来使您的过程真正发生!

这段代码可以满足您的需求:

class Generator

def get_numbers
numbers = Array.new

puts "To begin, You will need to enter your numbers."
puts

10.times do
print "\nPlease enter any number: "
input = STDIN.gets
input.chop!
numbers.push(input.to_i)
end

print numbers.max
end
end

Find = Generator.new
Find.get_numbers

请注意,我将您的方法的名称从 getNumbers 更改为 get_numbers,这更像 Ruby。

请注意,我还将您的数组名称从 number 更改为 numbers,因为它将存储数字,而不是单个数字。正确命名您的变量可能有助于您正确思考您的问题。当涉及到其他人阅读您的程序时,它也会有所帮助。即使是六个月后的你,如果你没有正确地命名事物或你编码好的注释,也会在理解你自己的代码时遇到问题。

顺便说一句,我还使用 #to_i 将数字作为整数推送到 numbers。这将使数字作为数字而不是字符串进行比较。如果你稍微研究一下,你会发现这可能有点不同。如果有人输入 0300 作为数字,它将被认为小于作为字符串的 200,但当转换为整数时,它们的顺序是正确的。

关于ruby - 生成最大数量的 10 个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40392132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com