嵌套 FOR 循环 - Swift 2
NESTED FOR LOOP - Swift 2
除了这本书,我没有编码经验
编程Swift! Swift 2 Kindle 版
尼克·史密斯(作者)
我目前在章节
5.3 嵌套 FOR 循环
// 嵌套 FOR 循环 #2
这段代码-
for var a = 0; a < 11; a++ {
print("")
for var b = 0; b < a; b++ {
print("*", terminator: " ")
}
}
现在[几个/4小时后'odd']我根本无法锻炼HOW TO CHANGE THE ABOVE 'simple' [if you know how] CODE TO GENERATE THIS PATTERN??
我(认为我)可以看到外循环和内循环我只是无法解决其余的问题!??我已经尝试了所有我能想到的变化!?? (我知道只是做 'permutations' 并不意味着我真正了解我正在尝试做的事情!...)
尝试使用 --operators 并更改 [大多数/所有] 值[但 'permutations' 是一种有限的方法]
我觉得自己完全是个傻瓜,但我想如果这是我第一次看到这些东西也许还不错,这些东西需要学习!??
帮助(大声笑的答案)将不胜感激
for var a = 10; a > 0; a-- {
for var b = 0; b < a; b++ {
print("*", terminator: " ")
}
print()
}
打印
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
现在 Swift 语法的更新,具有相同的功能
for a in stride(from: 10, through: 0, by: -1) {
for _ in stride(from: 0, to: a, by: 1) {
print("*", terminator: " ")
}
print()
}
如何系统地执行此操作:如果您想获得例如 user3441734 的输出:有 11 行。我们从 0 到 10 对行进行编号。因此我们有一个循环将行设置为 0 到 10 的值。
for var line = 0; line < 11; ++line
接下来,我们要在每一行打印什么?在第 0 行,我们要打印 11 * 个字符。在第 10 行中,我们要打印 1 个星号字符。星星数为11行。我如何获得表达式 11 - 行?星星的数量随着线的上升而下降,所以它一定是某种东西——线。当 line = 0 时,必须有 11 颗星,所以 something - 0 = 11,something = 11。所以循环中的第一行:
let starcount = 11 - line
然后我们要打印 (star count) 次一个星和一个 space 字符,然后开始一个新行。
for var star = 0; star < starcount; ++star {
print ("*", terminator: " ")
}
print ("")
总计:
for var line = 0; line < 11; ++line {
let starcount = 11 - line
for var star = 0; start < star count; ++star {
print ("*", terminator: " ")
}
print ("")
}
我们稍微简化了循环:
for var line in 0 ..< 11 {
let starcount = 11 - line
for var star in 0 ..< starcount {
print ("*", terminator: " ")
}
print ("")
}
如果你想要不同的模式,你所要做的就是在行数不同的情况下更改数字11,并更改starcount的计算。实际上,最好也为 linecount 设置一个变量,这样更改不同的模式就更容易了:
let linecount = 11
for var line in 0 ..< line count {
let starcount = linecount - line
for var star in 0 ..< starcount {
print ("*", terminator: " ")
}
print ("")
}
除了这本书,我没有编码经验
编程Swift! Swift 2 Kindle 版 尼克·史密斯(作者)
我目前在章节
5.3 嵌套 FOR 循环
// 嵌套 FOR 循环 #2
这段代码-
for var a = 0; a < 11; a++ {
print("")
for var b = 0; b < a; b++ {
print("*", terminator: " ")
}
}
现在[几个/4小时后'odd']我根本无法锻炼HOW TO CHANGE THE ABOVE 'simple' [if you know how] CODE TO GENERATE THIS PATTERN??
我(认为我)可以看到外循环和内循环我只是无法解决其余的问题!??我已经尝试了所有我能想到的变化!?? (我知道只是做 'permutations' 并不意味着我真正了解我正在尝试做的事情!...)
尝试使用 --operators 并更改 [大多数/所有] 值[但 'permutations' 是一种有限的方法]
我觉得自己完全是个傻瓜,但我想如果这是我第一次看到这些东西也许还不错,这些东西需要学习!??
帮助(大声笑的答案)将不胜感激
for var a = 10; a > 0; a-- {
for var b = 0; b < a; b++ {
print("*", terminator: " ")
}
print()
}
打印
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
现在 Swift 语法的更新,具有相同的功能
for a in stride(from: 10, through: 0, by: -1) {
for _ in stride(from: 0, to: a, by: 1) {
print("*", terminator: " ")
}
print()
}
如何系统地执行此操作:如果您想获得例如 user3441734 的输出:有 11 行。我们从 0 到 10 对行进行编号。因此我们有一个循环将行设置为 0 到 10 的值。
for var line = 0; line < 11; ++line
接下来,我们要在每一行打印什么?在第 0 行,我们要打印 11 * 个字符。在第 10 行中,我们要打印 1 个星号字符。星星数为11行。我如何获得表达式 11 - 行?星星的数量随着线的上升而下降,所以它一定是某种东西——线。当 line = 0 时,必须有 11 颗星,所以 something - 0 = 11,something = 11。所以循环中的第一行:
let starcount = 11 - line
然后我们要打印 (star count) 次一个星和一个 space 字符,然后开始一个新行。
for var star = 0; star < starcount; ++star {
print ("*", terminator: " ")
}
print ("")
总计:
for var line = 0; line < 11; ++line {
let starcount = 11 - line
for var star = 0; start < star count; ++star {
print ("*", terminator: " ")
}
print ("")
}
我们稍微简化了循环:
for var line in 0 ..< 11 {
let starcount = 11 - line
for var star in 0 ..< starcount {
print ("*", terminator: " ")
}
print ("")
}
如果你想要不同的模式,你所要做的就是在行数不同的情况下更改数字11,并更改starcount的计算。实际上,最好也为 linecount 设置一个变量,这样更改不同的模式就更容易了:
let linecount = 11
for var line in 0 ..< line count {
let starcount = linecount - line
for var star in 0 ..< starcount {
print ("*", terminator: " ")
}
print ("")
}