首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用stride功能快速打印星形图案

使用stride功能快速打印星形图案
EN

Stack Overflow用户
提问于 2018-05-31 18:56:33
回答 4查看 6.2K关注 0票数 -4

现在我正试着用swift 4打印下面的星形图案。

代码语言:javascript
复制
1
12
123
1234

为此,我采取了下面的方法。

代码语言:javascript
复制
for i in stride(from: 1, to: 5, by: 1) {
   // prints from 1 to 4
    for j in stride(from: 1, to: i, by: 1) {
          print(j, separator: "", terminator: "")
    }
    print("*\n")
}

但是现在,这将打印在输出下面。

代码语言:javascript
复制
*

1*

12*

123*

有没有办法解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-05-31 19:10:24

如果你想

代码语言:javascript
复制
1
12
123
1234

for i in 1..<5 { // or for i in stride(from: 1, to: 5, by: 1) {
    for j in 1...i { // for j in stride(from: 1, through: i, by: 1) {
        print(j, terminator: "")
    }
    print("")
}

如果你想

代码语言:javascript
复制
*
**
***
****

for i in 1..<5 {
    for _ in 1...i {
        print("*", terminator: "")
    }
    print("")
}
票数 3
EN

Stack Overflow用户

发布于 2021-04-05 13:07:15

代码语言:javascript
复制
1) Pyramid

                *
               * *
              * * *
             * * * *
            * * * * *

LINK :- 

https://replit.com/@vishakhaagarwa1/DarkorchidSmoothPayware#main.swift

for i in 1...5
{
    for _ in stride(from: 5, to: i, by: -1) 
    {
        print(terminator : " ")
    }

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





2) Right Triangle
*
* *
* * *
* * * *
* * * * *

LINK :- 

https://replit.com/@vishakhaagarwa1/StingyOldApplicationstack#main.swift

var i = 1
var j = 1
for i in i...5
{
  for _ in j...i
  {
     print("*",terminator : "")
  }
  print("")
}



3) Mirrored Right Triangle

        *
      * *
    * * *
  * * * *
* * * * *
LINK :- 

https://replit.com/@vishakhaagarwa1/CookedParallelRobodoc#main.swift

for i in 1...5
{
   for _ in stride (from: 5, to: i, by: -1)
  {
    print(" ",terminator : "")
  }
  for _ in 1...i
  {
     print("*",terminator : "")
  }
 
  print("")
}


4) Diamond

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

LINK :-

https://replit.com/@vishakhaagarwa1/WarmEmptyDegrees#main.swift






for i in 1...10
{
  if i % 2 != 0
  {
    for _ in stride(from: 10, to: i, by: -1) 
    {
        print(terminator : " ")
    }

    for _ in 1...i
    {
        print("*",terminator : " ")
    }
    print(" ")
  }
}
for i in stride(from: 10, to: 1, by: -1)
{
   if i % 2 != 0
  {
    for _ in stride(from: 10, to: i-1, by: -1) 
    {
        print(terminator : " ")
    }

    for _ in stride(from: 2, to: i, by: 1)
    {
        print("*",terminator : " ")
    }
    print(" ")
  }
}





5) Downward Triangle
* * * * *
* * * *
* * *
* *
*

LINK :- 

https://replit.com/@vishakhaagarwa1/FearlessIndolentByte#main.swift

for i in 1...5
{
  for _ in stride(from: i, to: 6, by: 1)
  {
    print("*",terminator : "")
  }
  print("")
}


6) Right Pascal’s Triangle
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
LINK :-

https://replit.com/@vishakhaagarwa1/IndianredNervousPrinter#main.swift

for i in 1...5
{
  for _ in 1...i
  {
     print("*",terminator : "")
  }
 
  print("")
}
for i in 1...4
{
  for _ in stride (from: 5, to: i, by: -1)
  {
     print("*",terminator : "")
  }

  print("")
}


7) Sandglass Pattern

* * * * *
 * * * *
  * * *
   * *
    *
    *
   * *
  * * *
 * * * *
* * * * *

LINK :-

https://replit.com/@vishakhaagarwa1/TangibleDeeppinkWatch#main.swift

for i in 1...5
{
  for _ in 1...i
  {
    print(terminator: " ")
  }
  for _ in stride(from: i, to: 6, by: 1)
  {
    print("*",terminator : " ")
  }
  print("")
}
for i in 1...5
{
    for _ in stride(from: 6, to: i, by: -1) 
    {
        print(terminator : " ")
    }

    for _ in 1...i
    {
        print("*",terminator : " ")
    }
    print(" ")
}
票数 3
EN

Stack Overflow用户

发布于 2021-04-10 12:24:59

代码语言:javascript
复制
var q : String = ""
repeat
{
  print("***** Numerical Patterns *****")
  print("1 for Number Right Triangle.. ")
  print("2 for Sequential Number Right Triangle.. ")
  print("3 for Pascal Number Triangle.. ")
  print("Enter Your Choice :: ")
  guard let index = Int(readLine()!), index > 0 && index < 4 else
  {
    print(" !!!! WArning :: Wrong Selection.......")
    print("\n")
    continue
  } 
  var n: Int
  print("Enter N Number For Pattern :: ")
  let num = readLine()
  if let t2 = Int(num!)
  {
    n = t2
  }
  else
  {
    print("wrong input ! taking default [5]")
    n = 5
  }

  switch index {
    case 1  :
        for i in 1...n
        {
          for j in 1...i
          {
            print(j,terminator: " ")
          }
          print("")
        }
    case 2  :
      var j = 0
      for i in 1...n
      {
        for _ in 1...i
        {
          j = j+1
          print(j,terminator: " ")
        }
        print("")
      }
    case 3  :
        for i in 1...n
      { 
        //print("i==",i)
        for _ in stride(from: n, to: i, by: -1) 
        {
          //print("k==",k)
          print(terminator : " ")
        }
        var no = 1
        for j in 1...i
        {
          //print("j==",j)
          print(no,terminator : " ")
          no = no * (i - j) / (j)

        }
        print(" ")
      }
    default :
        print( "Wrong Input............")
  }
  print("\n")
  print("Do you want to continues [PRESS Y/y] OR CLOSE [PRESS N/n] :: ")
  q = (readLine()!)
  print("\n")
}while(q == "y" || q == "Y")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50622689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档