解决Swift编程中的嵌套循环问题:大书呆子牧场指南

解决Swift编程中的嵌套循环问题:大书呆子牧场指南,swift,loops,Swift,Loops,我是学习Swift的新手,正在尝试解决Swift编程中的一个挑战:《大书呆子牧场指南》(第1版)。问题在第6章关于使用嵌套循环: 使用循环从0到100按2计数。使用另一个循环确保第一个循环运行5次。提示:一个好方法是使用嵌套循环 我想我已经找到了答案,但有点不确定,任何建议都将不胜感激 for i in 1...5 { for i in 0...100 { if i % 2 == 0 { print(i) } } } 基本

我是学习Swift的新手,正在尝试解决Swift编程中的一个挑战:《大书呆子牧场指南》(第1版)。问题在第6章关于使用嵌套循环:

使用循环从0到100按2计数。使用另一个循环确保第一个循环运行5次。提示:一个好方法是使用嵌套循环

我想我已经找到了答案,但有点不确定,任何建议都将不胜感激

for i in 1...5 {
    for i in 0...100 {
        if i % 2 == 0 {
            print(i)
        }
    }
}

基本上,解决方案是正确的。然而,在Swift中有两个更有效的语法

  • 使用
    进行筛选,其中

    for _ in 1...5 {
        for i in 0...100 where i % 2 == 0 {
            print(i)
        }
    }
    
  • 步幅进行循环
    (推荐)


  • 由于未使用外部索引变量,请按照警告中的建议将其替换为“\p>”基本上解决方案是正确的。然而,在Swift中有两个更有效的语法

  • 使用
    进行筛选,其中

    for _ in 1...5 {
        for i in 0...100 where i % 2 == 0 {
            print(i)
        }
    }
    
  • 步幅进行循环
    (推荐)


  • 由于未使用外部索引变量,请遵循警告中的替换为“u”建议

    我将避免对两个循环使用相同的索引变量
    I
    。这很让人困惑。@Carpsen90:我不建议这样做,但是可以为循环变量使用相同名称的嵌套循环,内部
    i
    然后简单地将外部
    i
    @MartinR Good to know@Carpsen90阴影化,因为问题要求计数重复5次,所以我认为解决方案是将循环嵌套在另一个循环中,使其运行5次。@delb99如果目标是从0计数到100,则使用嵌套循环,外部循环运行5次,然后查看我的答案。如果你想从0到100计算五次,那么你的代码已经运行了,你应该考虑Duncan和Martin的评论。我会避免对这两个循环使用相同的索引变量
    I
    。这很让人困惑。@Carpsen90:我不建议这样做,但是可以为循环变量使用相同名称的嵌套循环,内部
    i
    然后简单地将外部
    i
    @MartinR Good to know@Carpsen90阴影化,因为问题要求计数重复5次,所以我认为解决方案是将循环嵌套在另一个循环中,使其运行5次。@delb99如果目标是从0计数到100,则使用嵌套循环,外部循环运行5次,然后查看我的答案。如果你想从0数到100五次,那么你的代码已经运行了,你应该考虑Duncan和Martin的评论。我以前没有在for循环中看到过
    where
    限定符。你从哪里学来的?(投票)@Duncan它被列在。
    where
    子句是Swift中的常见模式。它可以用在
    for
    循环、
    开关
    情况、泛型和as类型约束运算符中。我以前没有在for循环上见过
    where
    限定符。你从哪里学来的?(投票)@Duncan它被列在。
    where
    子句是Swift中的常见模式。它可用于
    for
    循环、
    开关
    情况、泛型和类型约束运算符。