2.1.1、数据类型练习

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

importUIKit

//1、var string="my name is Tina"将string按字母顺序排序

varstring="my name is Tina"

//let stringArray = string.characters.sorted {$0 < $1}

//print(stringArray)

//var stringRange = ""

//for character in stringArray

//{

//stringRange.append(character)

//}

//print(stringRange)

//print(string)

vararrayStrs:Array = []

for(index,char)instring.characters.enumerated() {

arrayStrs.append(String(char))

}

print(arrayStrs)

letcmp:(_a:String,_b:String) ->Int= {

(a,b)in

letx = a.compare(b)

ifx == .orderedAscending{//升序

return-1

}elseifx == .orderedSame{//相同

return0

}else{

return1

}

}

cmp("b","a")

foriin1..

forjin0..

ifcmp(arrayStrs[j],arrayStrs[j+1]) ==1{

lettemp =arrayStrs[j]

arrayStrs[j] =arrayStrs[j+1]

arrayStrs[j+1] = temp

}

}

}

varnewResult:String=""

foriinarrayStrs{

newResult+=i

}

print(arrayStrs,newResult)

//2、var bigArray=[4,6,1,3,2,5]进行排序,用三种方法

varresultArray = [String]()

varbigArray=[4,6,1,3,2,5]

//bigArray.sort()

foriin1..

{

forjin0..< (bigArray.count- i)

{

ifbigArray[j] >bigArray[j +1]

{

swap(&bigArray[j], &bigArray[j +1])

//let temp = bigArray[j]

//bigArray[j] = bigArray[j + 1]

//bigArray[j + 1] = temp

}

}

}

print(bigArray)

//3、写一个九九乘法表

/*

1 * 1 = 1

1 * 2 = 22 * 2 = 4

1 * 3 = 32 * 3 = 63 * 3 = 9

1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16

1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25

1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36

1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49

1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64

1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 9 = 81

*/

foriin1...9{

forjin1...9{//j代表列,i代表行

//print("\(i)*\(j)=\(i*j) ",terminator:"")

ifi>=j {

print("\(j)*\(i)=\(i*j) ",terminator:"")

}

ifj ==9{

print("\n")

}

}

}

//var num = 1

////result为结果

//var result = ""

////外循环循环9次row为行数

//for row in 1...9{

////tmp临时存放结果,外循环执行一次重置一次tmp

//var tmp = ""

////内循环循环num次

//for row in 1..

//tmp = tmp + "\(row)*\(num)=\(row*num)\t"

//

//}

////拼接结果

//result =tmp + "\(row)*\(num)=\(row*num)"

//print(result)

////外循环执行一次需要出现结果的个数+1

//num += 1

//}

//4、编写一个函数可以计算其参数的平均值

funcaverage(a:Double...) ->Any{

varsum:Double=0

foraina{

sum += a

}

returnsum /Double(a.count)

}

average(a:1,2,3,4,5,6)

//5、定义一个数组,写一个函数,传任意数组中的两个元素,可以实现交换数组中的两个元素

vararray = [5,4,3,2,1,0]

swap(&array[0], &array[4])

funcexchangeData(array:Array, a:Int, b:Int) ->Array{

vararray = array

letdata = array[a]

array[a] = array[b]

array[b] = data

returnarray

}

exchangeData(array:array, a:4, b:0)

varoldArray = [5,4,3,2,1,0]

funcjiaohuan (array:Array, a:Int, b:Int) -> (Array){

varneArray = array

swap(&neArray[a],&neArray[b])

returnneArray

}

varanswer:Array=jiaohuan(array:oldArray, a:0, b:5)

funcswapData(_nums:inout[Int],_p:Int,_q:Int) {

lettemp = nums[p]

nums[p] = nums[q]

nums[q] = temp

}

swapData(&oldArray,5,0)

funcswap2(_nums:inout[T],_p:Int,_q:Int) {

(nums[p], nums[q]) = (nums[q], nums[p])

}

swap2(&oldArray,1,3)

//6、将数组[“A”,”B”,”C”]转换为字符串A:B:C

lettimu = ["A","B","C"]

//let zhuanhuan = timu.joined(separator: ":")

vars =""

foriintimu{

ifi !="C"{

s+=String("\(i):")

}else{

s+=String("\(i)")

}

}

print(s)

//6、将课堂上讲的朋友圈的三个数组(用了字典、元组、数组),用所学到的知识,单独获取到“小程序”这个字符串值

//元组

letdataArray1 = [[(image:"0",name:"朋友圈")],[(image:"1",name:"扫一扫"),(image:"2",name:"摇一摇")],[(image:"3",name:"附近的人"),(image:"4",name:"漂流瓶")],[(image:"5",name:"购物"),(image:"6",name:"游戏")],[(image:"7",name:"小程序")]]

letoneSection1 =dataArray1[4]

letoneRow1 =oneSection1[0]

letstring1 =oneRow1.name

print(string1)

//数组

letdataArray2 = [[["0","朋友圈"]],[["1","扫一扫"],["2","摇一摇"]],[["3","附近的人"],["4","漂流瓶"]],[["5","购物"],["6","游戏"]],[["7","小程序"]]]

letoneSection2 =dataArray2[4]

letoneRow2 =oneSection2[0]

letstring2 =oneRow2[1]

print(string2)

//字典

letdataArray3 = [[["image":"0","name":"朋友圈"]],[["image":"1","name":"扫一扫"],["image":"2","name":"摇一摇"]],[["image":"3","name":"附近的人"],["image":"4","name":"漂流瓶"]],[["image":"5","name":"购物"],["image":"6","name":"游戏"]],[["image":"7","name":"小程序"]]]

letoneSection3 =dataArray3[4]

letoneRow3 =oneSection3[0]

letstring3 =oneRow3["name"]

print(string3??"name值不存在")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容