环球-Swift 第一周

2017-06-06  本文已影响0人  周一见丶

格式化输出小技巧

大家知道在 C 和 OC 中想要输出保留两位小数的浮点数是件很容易的事,但是在 Swift 里面却不是那么容易,那么怎么做呢?请看代码

    func format(f: String) -> String {
        return String(format: "%\(f)f", self)
    }
} ``` 
这确实不是一个优美的解决方案,但是在实际中是比较实用的。
### 本周作业
一、常量和变量的区别
二、 let dataArray=[1,7,2,5,3,9,6]求最大值,最大值的下标,平均值
三、计算1到25的奇数有多少个
四、let str="my name is tom"计算m的个数,i的下标
### 一大题
1、 常量一旦被初始化值就不能再改变,变量被初始化后值是可变的
2、当常量是引用类型时,指针本身不可改变,也就是说指针指向的地址不会变,但该地址的内部值可以被改变
3、常量用关键字 let 声明,变量用 var
### 二大题

import UIKit
//给 Double 添加一个扩展,将 Double 转换为 String ,保留 f 位小数。
extension Double
{
func format(f: String) -> String {
return String(format: "%(f)f", self)
}
}
//第二题
let dataArray = [1,7,2,5,3,9,6]
//i是数组中的元素,a是数组下标,sum是数组和,avr是数组元素平均值
var i: Int, a: Int, sum: Int, avr: Double
a = 0
sum = 0
avr = 0
i = dataArray[a]
//for in 是遍历数组元素的循环语句,enumerated()是数组中取元素和下标的方法,index取下标,item取元素
for (index,item) in dataArray.enumerated(){
if item > i
{
i = item
a = index
}
sum = sum + item
}
//将 sum 和 数组元素个数强制转为 Double,否则是无法赋值给 avr 的
avr = Double(sum)/Double(dataArray.count)//取数组元素个数
let f = ".2"//设置保留小数位数
print("dataArray 最大值为(i),最大值下标为(a),平均值为(avr.format(f: f))。")
//end

### 三大题

//第三题
import UIKit

var i = 1, j = 0

while i <= 25 {
if i%2!=0 {
j = j + 1
}
i = i + 1
}
print("1到25的奇数有(j)个。")

### 四大题

//: Playground - noun: a place where people can play

import UIKit

let str = "my name is tom"
//如何取得下面该iIndex的实际数字?
let iIndex = str.characters.index(of: "i")
print(iIndex)
var i = 0, j = 0
for (index,char) in str.characters.enumerated()
{
if char == "m"
{
i += 1
}
if char == "i"
{
j = index
}

}
print("m一共有(i)个,i的下标是(j)。")

上一篇下一篇

猜你喜欢

热点阅读