gpt4 book ai didi

swift - 使用 while 函数快速掷骰子并打印结果,直到结果为 1

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:37 24 4
gpt4 key购买 nike

我是 Swift 的新手,我有一个任务要求我创建一个 while 循环来模拟重复掷 6 面骰子直到掷出 1。每次滚动后,打印值。

在过去 2 小时内我尝试的几乎每一次迭代中,我都以无限循环结束,这会导致 Xcode 爆炸。

任何帮助都会很棒!

var dieRoll = Int.random(in: 1...6)

while dieRoll <= 6 {
print (dieRoll)
if dieRoll == 1 {
print ("You win!")
}
}

到此为止,它不再无休止地运行,但它的行为很奇怪并返回值 1 而没有打印“你赢了!”

func dieRoll(x: Int) -> Int {
return Int.random(in:1...6)
}

while dieRoll(x: 0) > 1 {
print(dieRoll(x: 0))
if dieRoll(x: 1) == 1 {
print("You win!")
}
else {
RETURN
}
}

最佳答案

您的 dieRoll 变量被声明为一个变量,但您永远不会更改它!尝试在 While 循环中“重新滚动”

此外,6 总是有可能永远不会掷出……如果你想搞乱“真实”概率,我知道,但如果你发现问题,你可能想制定一个“最大掷出次数”。 . 就我个人而言,我不会,但嘿,你永远不知道

TDLR:while 循环的最后一行应该重新滚动你的 dieRoll var

关于swift - 使用 while 函数快速掷骰子并打印结果,直到结果为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58160118/

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