Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Lesson 3 - 22.3.20
- // Calculating and printing the distance between two points using the Int extension
- typealias Point = (x: Int, y: Int)
- extension Double {
- func calcDist(p1 : Point, p2 : Point) {
- let x = p2.x - p1.x
- let y = p2.y - p1.y
- print(Double(x * x + y * y).squareRoot())
- }
- }
- var myNum : Double = 5.3
- myNum.calcDist(p1: (3, 4), p2: (11, 10))
- // Painting a tree using the String extension
- extension String {
- func printWithTree() {
- let totalLen : Int = self.count + 5
- var blankLen : Int = (totalLen - 1) / 2
- var starLen : Int = 1
- let numOfIterations = self.count % 2 == 0 || self.count < 2 ? self.count + 1 : self.count
- var str : String = ""
- for _ in 1...numOfIterations {
- if blankLen > 0 {
- for _ in 1...blankLen + 1 {
- str.append(" ")
- }
- for _ in 1...starLen {
- str.append("*")
- }
- str.append("\n")
- blankLen -= 1
- starLen += 2
- }
- }
- str.append(" * \(self) *\n")
- for _ in 0...totalLen {
- str.append("*")
- }
- str.append("\n")
- for _ in 1...3 {
- for _ in 1...(totalLen - 1) / 2 {
- str.append(" ")
- }
- str.append("**\n")
- }
- print(str)
- }
- }
- var name: String = "Ydsdfsd"
- name.printWithTree()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement