gpt4 book ai didi

xcode - 当将项目附加到循环系统内的数组中时,它不起作用(快速)

转载 作者:行者123 更新时间:2023-11-30 10:13:28 24 4
gpt4 key购买 nike

在此代码中,我为 2 个不同的数组生成值。一个数组内的值取决于另一个数组内的值。其工作方式是,在数组 next_month_initial 中,该值取决于 water_deficit 数组中的相应值。但是,water_deficit 数组值取决于 next_month_initial 数组中的前一个(不对应)值。因此,为什么 water_deficit 数组 的第一个值是独立计算的,因为 next_month_initial 数组中不存在先前的值。我希望这足以清楚地理解。

代码可能有点令人困惑,但内容是正确的,计算是正确的。没有显示错误消息,但程序无法正确计算数组中的所有值。当我打印数组时,没有看到列出了正确值的数组,而是显示“Playground 执行失败”。我不知道为什么会发生这种情况,因为我可以看到这段代码应该可以工作。

var rainfall = [38,94,142,149,236,305,202,82,139,222,178,103]

let max_h2Ostore = 150
let carry_forward = 150

var evap_transpiration: [Int] = []
var water_deficit: [Int] = []
var next_month_initial: [Int] = []


// Generating values for water_deficit array
//The first values is generated differently to the remaining values
water_deficit[0] = rainfall[0] + carry_forward - evap_transpiration[0]

for i in 0...11 {
var x = i
if water_deficit[i] <= 0 {
next_month_initial.append(0)
} else if water_deficit[i] >= max_h2Ostore {
next_month_initial.append(max_h2Ostore)
} else {
next_month_initial.append(water_deficit[i])
}; if i != 11 {
x++
water_deficit.append(next_month_initial[i] + rainfall[x] - evap_transpiration[x])
}
}

println(water_deficit)

最佳答案

因此,要让您的代码“工作”,您必须这样做

声明rainfall(我猜你已经在某个地方定义了它,但它不在你的问题中),有12个值:

let rainfall = [50, 13, 49, 30, 4, 5, 2, 9, 94, 48, 74, 39]

声明具有 12 个值的 evap_transpiration:

var evap_transpiration: [Int] = [30, 19, 59, 48, 39, 29, 49, 19, 49, 29, 49, 38]

将循环之前的行更改为(不能设置第 0 个元素,因为当时没有):

water_deficit.append(rainfall[0] + carry_forward - evap_transpiration[0])

所以你的代码可以工作。我真的不知道它是否正常工作,因为我真的不知道你想做什么,但至少它不会崩溃。如果它做了您期望它做的事情(并且它不会为您崩溃!)那么我建议将您的代码发布到 Code Review因为这是我见过的最可怕的 Swift 代码(抱歉)。我还建议阅读The Swift Programming Language来自 Apple 的书籍,它是免费的并且非常容易理解。 (如果您将其发布在代码审查上,请添加对其用途的详细描述)

关于xcode - 当将项目附加到循环系统内的数组中时,它不起作用(快速),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599820/

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