当前位置: 首页 > 知识库问答 >
问题:

在repeat while循环中。count命令有什么用?

戚学文
2023-03-14

我最近开始学习swift作为我的第一门编程语言,有一个非常简单的术语我找不到答案。

看一看这段代码:

var a = [Int]()
repeat {
    
    let randomNumbers = Int.random(in: 0...10)
    if a.contains(randomNumbers) == false {
        
        a.append(randomNumbers)
        
    }
    
    print(randomNumbers)
    
} while (a.count < 10)

所以这段代码应该从0...10添加10个数字(没有重复)到数组中,直到列出所有唯一的整数。我不明白的是“while”在这里的作用。最后一行不是表示“生成数字”的数量必须小于10吗?那么为什么每次我运行代码时,我在控制台中得到超过10个数字(比如30-40)呢?同样根据代码,此代码不得生成dupes。那为什么我会在控制台中得到一些数字打印23次呢?

共有1个答案

楚健
2023-03-14

检查 是否已添加到数组 中,如果是,循环将再次执行,直到

如果您将 语句移动到 语句内部,它将精确打印10次。

 类似资料:
  • 问题内容: 我有以下查询: 会有什么区别,如果我更换,所有呼叫count(column_name)到count(*)? 这个问题的灵感源于我如何在Oracle的表中找到重复的值?。 为了澄清接受的答案(也许我的问题),替换count(column_name)与count(*)将在包含一个结果返回额外的行null和计数null列中的值。 问题答案: 计数为而不是 [编辑]添加了此代码,以便人们可以运

  • 我注意到一个问题,当从shell脚本循环运行多个adb命令时,大多数命令都不会执行。 这是一个示例脚本。 脚本名称:: 注释掉adb命令的输出 我连接了5台设备。在不使用theadab命令的情况下从bash文件运行时,这是输出。它遍历5个循环中的每一个。 包含ADB命令的循环输出 当取消注释adb shell命令时,它只会正确地迭代第一个循环的行。这是未注释adb命令时的输出: 有人能解释一下这种

  • 我试图将我的编程风格从命令式切换到声明式,但有一些概念困扰着我,比如当涉及到循环时的性能。例如,我有一个原始数据,在操作它之后,我希望得到3个预期结果:itemsHash、namesHash、rangeItemsHash 为了达到预期的结果,命令式只循环一次,而声明式至少循环3次(、、)。哪一个比较好?在性能上有什么权衡吗?

  • 本文向大家介绍v-for循环中key有什么作用?相关面试题,主要包含被问及v-for循环中key有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 四个字: 性能优化, 简述: 让vue在更新数据的时候可以更有针对性的

  • 我有这个命令来编译我的程序。 我创建了以下makefile。 如果从terminal运行该命令将成功,但make将失败。 它将失败,并出现错误 该文件应该在命令中使用导入。 我认为Makefile中的命令执行起来很像bash脚本。 在bash中运行命令和在Makefile中运行命令有什么区别?

  • 如果我有时运行这些程序,它会在打印“玩家赢”或“玩家输”后继续运行,我可以找到原因。。 这里的输出: 球员滚轴3 2=5 分数是5 玩家滚轮6 4=10 游戏者滚轴6=12 玩家滚轮5 5=10 球员滚轴12=3 球员滚轴1 3=4 球员获胜 球员滚轴4 6=10 球员滚轴4 1=5 构建成功(总时间:0秒)

  • 问题内容: 这个问题已经在这里有了答案 : 在SQL中,count(column)和count(*)有什么区别? (11个答案) 7年前关闭。 我有以下代码: 如果我将COUNT(*)替换为COUNT(’x’),结果或性能会有所不同吗? (这个问题是关系到一前一) 问题答案: 这么说,导致您的DBMS返回“列”简直是糊涂。 可能 很久以前就是这种情况,但是任何自重的查询优化器都会选择一些快速方法来

  • 本文向大家介绍DOS 批处理命令For循环命令详解,包括了DOS 批处理命令For循环命令详解的使用技巧和注意事项,需要的朋友参考一下 for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处理中运行的命令,结合一些Windows管理中的程序后,其处理功能强大、应用灵活方便程度令人刮目相看。但是,其帮助信息也因此复杂往往令初学者望而生畏,这里根据本人的学习理解,把其用法分解简化,疏