swift - 快速控制流计数与倍数
问题描述
编写一个函数,打印从 1 到 100 的数字。但是对于三的倍数打印“x”而不是数字,对于五的倍数打印“y”。对于同时是三和五的倍数的数字,打印“z”。
作为一名学生,我曾被提出过这个问题,并且在试图弄清楚如何将倍数从数字切换到相应的单词时遇到了麻烦。在这个意义上,我将其放置为“x、y 和 z”。
我可以将函数计数为 100,只是不知道如何首先定位倍数。之后,将它们转换为单词而不是数字。这就是我到目前为止所拥有的。
func count(from:Int, to:Int = 100){for i in from...to{print(i)}}
感谢您提前提供任何帮助!如果您还可以解释为什么它会以这种方式工作,我们将不胜感激!还在学习!
解决方案
欢迎来到 SO。这是“嘶嘶声”的变体。
你可以map()
为此使用一个函数。您将每个数字映射到一个字符串:非“特殊”的数字将映射到它们的等效字符串,而“特殊”的数字将映射到它们的替换。switch 语句将是选择“特殊”数字的好方法。
或者,您可以使用 for 循环和多部分 if 语句:
for number in 1...100 {
//if statements
}
您可以使用模 ( %
) 运算符判断一个数字是否可以被另一个数字整除:(number % 3 ==
如果一个数字可以被 3 整除,则为真。)
这不是代码编写服务。看看你能不能解决。
推荐阅读
- r - 计算 R 中每个用户 ID 自上次购买以来的天数
- python - 尝试使用for循环找到一种有效的方法来查找python中的所有因素
- node.js - Cheerio 和 axios 的 Promise - 内嵌 for 循环
- python - Django 从 Createview 获取 PK
- python - Python在与另一个列表检查后获取一个列表的索引号
- javascript - 强制两个元素具有相同的宽度
- python - 来自迭代器的随机项?
- angular - Angular 双向绑定 [(ngModel)]
- r - 将带有月份缩写的字符串转换为 POSIXlt 的问题
- ios - 成功登录后导航未激活