对于2个数字(例如10或50),它正常工作,但是对于100,它不起作用。谁能迅速帮助我解决这个菱形图案问题[关闭]

问题描述 投票:-3回答:1
let N = 50

for i in 1...N
{
    for j in 0..<(N-i) {
        print(" ", terminator: "")
    }

    for j in 1...2 * i-1 {
        print("*", terminator: "")
    }
    print("")
}

if (N > 1) {
    for j in 2...N
    {
        var i = N - j + 1
        for k in 0..<(N-i)
        {
            print(" ", terminator: "")
        }

        for k in 1...2*i-1 {
            print("*", terminator: "")
        }
        print("")
    }
}
swift for-in-loop
1个回答
0
投票

您的代码也可以正常工作,N = 500,但这会导致调试窗口中出现换行符,从而损坏菱形。

但是您可以通过将未使用的变量替换为“ _”来消除代码中的警告


import UIKit

let N = 500

for i in 1...N
{
    for _ in 0..<(N-i) {
        print(" ", terminator: "")
    }

    for _ in 1...2 * i-1 {
        print("*", terminator: "")
    }
    print("")
}

if (N > 1) {
    for j in 2...N
    {
        let i = N - j + 1
        for _ in 0..<(N-i)
        {
            print(" ", terminator: "")
        }

        for _ in 1...2*i-1 {
            print("*", terminator: "")
        }
        print("")
    }
}


© www.soinside.com 2019 - 2024. All rights reserved.