Swift Playgrounds发布了4.1版本,难得在WWDC前发布新版本。
For iPad: Download Swift Playgrounds for iPad
For Mac: Download Swift Playgrounds for Mac
For iPad: Download Swift Playgrounds for iPad
For Mac: Download Swift Playgrounds for Mac
App Store
Swift Playground App - App Store
Download Swift Playground by Apple on the App Store. See screenshots, ratings and reviews, user tips, and more apps like Swift Playground.
❤1
循环、判断、数组小练习 2022.05.17
// 1. 输入一个v或o或p,如果输入的不是v/o/w提示再次输入,直到输入的是v/o/w为止(v是✂️、o是✊、w是布)
// 2. 让计算机在v/o/w里随机挑选一个,与你输入的做对比,看你是赢了还是输了还是平局
// 3. 整个游戏一局有五轮,五轮下来计算机和人谁赢的多,谁就赢了,如果全为平局或赢的轮数相同,则为平
// 1. 输入一个v或o或p,如果输入的不是v/o/w提示再次输入,直到输入的是v/o/w为止(v是✂️、o是✊、w是布)
// 2. 让计算机在v/o/w里随机挑选一个,与你输入的做对比,看你是赢了还是输了还是平局
// 3. 整个游戏一局有五轮,五轮下来计算机和人谁赢的多,谁就赢了,如果全为平局或赢的轮数相同,则为平
❤1
今天我与一位小朋友学生一起,尝试翻译了 xcodes 的简单中文版本,在翻译的时候学习了很多有关的知识,这也是他第一次在Github为一个开源项目提交自己的贡献。我们俩都非常开心,不过在提交后,我发现也有人提交了中文化的PR,但是这终究是一个14岁孩子的第一次开源贡献,所以我还是保留了这个PR。
https://github.com/RobotsAndPencils/XcodesApp/pull/228
https://github.com/RobotsAndPencils/XcodesApp/pull/228
❤4
循环、判断小练习 2022.05.20
// print("*")
// 1. 打印十行*,每行10个*,行成一个正方形
// 2. 打印十行*,每行10个*,第行会多一个空格,形成一个平行四边行
// **********
// **********
// **********
// **********
// **********
// **********
// **********
// **********
// 3. 打印如下形状(Homework)
//*********
// *******
// *****
// ***
// *
👍3
循环、判断、函数 小练习 2022.05.22
// print("Please input a number(1~6):")
// let input = readLine() ?? "1"
// let number = Int(input) ?? 1
// print(number)
// 1. 请用户输入一个1到6的数字,如果数字小于4,显示小,如果数字大于3,显示大
// 2. 让电脑帮助生成1~6的随机数
// 3. 让用户输入b(大)或s(小),如果用户输入的不是b或s,要求重新输入,直到输入的是b或s为止(使用函数)
// 4. 先让用户输入大小,然后让机器扔🎲,然后显示你是赢了还是输了。每局游戏有五轮,五局三胜,最后告诉大家你是赢了还是输了。(作业)
// print("Please input a number(1~6):")
// let input = readLine() ?? "1"
// let number = Int(input) ?? 1
// print(number)
// 1. 请用户输入一个1到6的数字,如果数字小于4,显示小,如果数字大于3,显示大
// 2. 让电脑帮助生成1~6的随机数
// 3. 让用户输入b(大)或s(小),如果用户输入的不是b或s,要求重新输入,直到输入的是b或s为止(使用函数)
// 4. 先让用户输入大小,然后让机器扔🎲,然后显示你是赢了还是输了。每局游戏有五轮,五局三胜,最后告诉大家你是赢了还是输了。(作业)
❤1
https://blog.hdcola.one/swiftui-mapkit-corelocalcation 我的一位小朋友决定要提前认真准备明年的WWDC学生挑战赛了,他想要做的是与位置、地图相关的一个应用。所以昨天的课程就是有关地图和坐标的内容。希望他能开始一个新的探险~
老房东的纸条箱
SwiftUI地图与坐标小纸条(一)
在SwiftUI中显示地图与获取当前坐标
循环、判断、数组小练习 2022.05.27
// 1. 使用genCards()函数生成一副没有大小王的扑克牌,总共52张,包括♦️♣️♥️♠️花色,把它们放到一个数组里去["♦️2", "♦️3", "♦️4", "♦️5", "♦️6", "♦️7", "♦️8", "♦️9", "♦️10", "♦️J", "♦️Q", "♦️K", "♦️A", "♣️2", "♣️3", "♣️4", "♣️5", "♣️6", "♣️7", "♣️8", "♣️9", "♣️10", "♣️J", "♣️Q", "♣️K", "♣️A", "♥️2", "♥️3", "♥️4", "♥️5", "♥️6", "♥️7", "♥️8", "♥️9", "♥️10", "♥️J", "♥️Q", "♥️K", "♥️A", "♠️2", "♠️3", "♠️4", "♠️5", "♠️6", "♠️7", "♠️8", "♠️9", "♠️10", "♠️J", "♠️Q", "♠️K", "♠️A"]
//2. 给 A 和 B 各随机发一张牌,打印出谁的牌大。先看数字,数字越大的,牌就大,如果数字一样,按["♦️","♣️","♥️","♠️"]知道大小。 (HomeWork)
// 1. 使用genCards()函数生成一副没有大小王的扑克牌,总共52张,包括♦️♣️♥️♠️花色,把它们放到一个数组里去["♦️2", "♦️3", "♦️4", "♦️5", "♦️6", "♦️7", "♦️8", "♦️9", "♦️10", "♦️J", "♦️Q", "♦️K", "♦️A", "♣️2", "♣️3", "♣️4", "♣️5", "♣️6", "♣️7", "♣️8", "♣️9", "♣️10", "♣️J", "♣️Q", "♣️K", "♣️A", "♥️2", "♥️3", "♥️4", "♥️5", "♥️6", "♥️7", "♥️8", "♥️9", "♥️10", "♥️J", "♥️Q", "♥️K", "♥️A", "♠️2", "♠️3", "♠️4", "♠️5", "♠️6", "♠️7", "♠️8", "♠️9", "♠️10", "♠️J", "♠️Q", "♠️K", "♠️A"]
//2. 给 A 和 B 各随机发一张牌,打印出谁的牌大。先看数字,数字越大的,牌就大,如果数字一样,按["♦️","♣️","♥️","♠️"]知道大小。 (HomeWork)
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Navigation、ViewModel、 VIew间传递数据练习 2022.05.28 #代码小怪兽
❤1
2022.05.29 #大朋友幼儿园
// a.u:输入b/s
// b.c:生成一个数字,是b还s
// c.把u和c的结果比较是相同还是不同,然后知道u是w/l
// d.把1~3循环五次,如果有一方先w了三次,停止告知x赢了
// e.问u是不是再来一局,如果输入是y/Y,哪就再把1~4来一遍
// 重新理解Learning to Code中的Command
// 得新理解如果使用函数形成一个新的Command简化你的思考
// 尽可能让一个函数里的行数不超过20行,体会超过50行的函数的debug时的呕吐感
// 1. 重构getInput让输入变的更为简单
// 用户必须输入inputElement里的一个内容,一开始先给用户提示inputPrompt,如果输入的不对,提示errorPrompt,直到用户输入对了为止,将最后用户输入对的内容反回回来
// 2. 重构genDieNumber()->Int生成计算机的1...6的随机数
// 3. 重构 isBigOrSmall和isWin
// 4. 加入一局五轮,加入赌注,初始有10$,可以押注,赢了赌注翻倍,输了赌注清零。玩一局押注一次,玩五局看最后有多少钱。(HomeWork)
// a.u:输入b/s
// b.c:生成一个数字,是b还s
// c.把u和c的结果比较是相同还是不同,然后知道u是w/l
// d.把1~3循环五次,如果有一方先w了三次,停止告知x赢了
// e.问u是不是再来一局,如果输入是y/Y,哪就再把1~4来一遍
// 重新理解Learning to Code中的Command
// 得新理解如果使用函数形成一个新的Command简化你的思考
// 尽可能让一个函数里的行数不超过20行,体会超过50行的函数的debug时的呕吐感
// 1. 重构getInput让输入变的更为简单
// 用户必须输入inputElement里的一个内容,一开始先给用户提示inputPrompt,如果输入的不对,提示errorPrompt,直到用户输入对了为止,将最后用户输入对的内容反回回来
// 2. 重构genDieNumber()->Int生成计算机的1...6的随机数
// 3. 重构 isBigOrSmall和isWin
// 4. 加入一局五轮,加入赌注,初始有10$,可以押注,赢了赌注翻倍,输了赌注清零。玩一局押注一次,玩五局看最后有多少钱。(HomeWork)
2022.06.03 #Swift小伙伴
String、split、数组、函数return练习
// String.split(separator: " ")
// 1. 写一个函数 getWordCount(sentences: String){} return这个String里有多少个word
// 2. 写一个 getSentenceCount(sentences: String){} return这个String里有多少个sentence
// 3. 写一个 reverseSentences(sentences: String) return这个String里的反转每行句子的String "\n"
let 诗 = """
4更上一层楼
3欲穷千里目
2黄河入海流
1白日依山尽
"""
String、split、数组、函数return练习
// String.split(separator: " ")
// 1. 写一个函数 getWordCount(sentences: String){} return这个String里有多少个word
// 2. 写一个 getSentenceCount(sentences: String){} return这个String里有多少个sentence
// 3. 写一个 reverseSentences(sentences: String) return这个String里的反转每行句子的String "\n"
let 诗 = """
4更上一层楼
3欲穷千里目
2黄河入海流
1白日依山尽
"""
👍3
words.txt
15.4 KB
2022.06.04 #代码小怪兽
我们已经有一个一words.txt文件,请使用这个文件,生成一个swift程序,里面是一个let words=[“abc”,”bcd”]这样的一个Array声明,省得我们复制粘贴一百年。同时体会以一下用程序写程序。 :)
我们已经有一个一words.txt文件,请使用这个文件,生成一个swift程序,里面是一个let words=[“abc”,”bcd”]这样的一个Array声明,省得我们复制粘贴一百年。同时体会以一下用程序写程序。 :)
👍1
编程学习
2022.05.29 #大朋友幼儿园 // a.u:输入b/s // b.c:生成一个数字,是b还s // c.把u和c的结果比较是相同还是不同,然后知道u是w/l // d.把1~3循环五次,如果有一方先w了三次,停止告知x赢了 // e.问u是不是再来一局,如果输入是y/Y,哪就再把1~4来一遍 // 重新理解Learning to Code中的Command // 得新理解如果使用函数形成一个新的Command简化你的思考 // 尽可能让一个函数里的行数不超过20行,体会超过50行的函数的debug时的呕吐感…
2022.06.05 #大朋友幼儿园
上周作业大家进行回顾,又进行了条理化清晰重构后基本就超时了。所以继续一个更挑战的作业:
// 骰子游戏本周作业
// 1.一颗🎲变为三颗骰子
// 2. 总点数为:11或更大为大,总点数为:10或更小为小。任意三颗点数相同为围骰,庄家通杀。
// 3. 除了大小,还能押注全围和围骰(b/s/a/1/2/3/4/5/6)。大小1:1赔率,全围是1:30,围骰是1:180
// 4. 去除原来的Sets,让用户输入玩几个round或没钱停止,看余额有多少
上周作业大家进行回顾,又进行了条理化清晰重构后基本就超时了。所以继续一个更挑战的作业:
// 骰子游戏本周作业
// 1.一颗🎲变为三颗骰子
// 2. 总点数为:11或更大为大,总点数为:10或更小为小。任意三颗点数相同为围骰,庄家通杀。
// 3. 除了大小,还能押注全围和围骰(b/s/a/1/2/3/4/5/6)。大小1:1赔率,全围是1:30,围骰是1:180
// 4. 去除原来的Sets,让用户输入玩几个round或没钱停止,看余额有多少
😁1
2022.06.07 #Swift小伙伴
//1. print一个年历,样子:
// 1
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// 2
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 3
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// .... 12月
// 2.请打印出乘法口诀表
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 3.
// 写一个函数,输入月/日参数,告诉我这天是这一年的第几天
// func getDays(m: Int,d:Int)-> Int{}
// 2.28是 31+28=59
//1. print一个年历,样子:
// 1
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// 2
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 3
// 1 2 3 4 5 6 7
// 8 9 10 11 12 13 14
// 15 16 17 18 19 20 21
// 22 23 24 25 26 27 28
// 29 30 31
// .... 12月
// 2.请打印出乘法口诀表
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 3.
// 写一个函数,输入月/日参数,告诉我这天是这一年的第几天
// func getDays(m: Int,d:Int)-> Int{}
// 2.28是 31+28=59
👍3
2022.06.10 #Swift小伙伴
// 1. 打印倒立的乘法口诀表
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*3=3 2*3=6 3*3=9
// 1*2=2 2*2=4
// 1*1=1
//
// 2. 写一个函数,名字为calc(start:Int,end:Int)->Int
// 比如 start=1 end=10, 1*2*3*4*5*6*7*8*9*10=3,628,800
// 比如 start=15 end=11 15*14*13*12*11=360,360
// 3. 已经有一副牌了
// 随机抽取54次,告诉我什么牌抽到的次数最多
// randomElement() https://developer.apple.com/documentation/swift/array/randomelement()
// firestIndex() https://developer.apple.com/documentation/swift/array/firstindex(of:)
// 1. 打印倒立的乘法口诀表
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*3=3 2*3=6 3*3=9
// 1*2=2 2*2=4
// 1*1=1
//
// 2. 写一个函数,名字为calc(start:Int,end:Int)->Int
// 比如 start=1 end=10, 1*2*3*4*5*6*7*8*9*10=3,628,800
// 比如 start=15 end=11 15*14*13*12*11=360,360
// 3. 已经有一副牌了
func genCards() -> [String]{
let suits : [String] = ["♦️","♣️","♥️","♠️"]
let numbers : [String] = ["2","3","4","5","6","7","8","9","10","J","Q","K","A"]
var cards : [String] = []
for i in suits{
for j in numbers{
cards.append("\(i)\(j)")
}
}
return cards
}
let card = genCards().randomElement()!
print(genCards())
// 随机抽取54次,告诉我什么牌抽到的次数最多
// randomElement() https://developer.apple.com/documentation/swift/array/randomelement()
// firestIndex() https://developer.apple.com/documentation/swift/array/firstindex(of:)
👍2
编程学习
2022.06.06 #Swift小小班 使用SwiftUI把石头剪刀布变成了一个可以在Mac、iPad和iPhone上运行的App.
今天和Grace小朋友一起尝试了将她的第一个App提交给Apple App Store Connect。开心的等TestFlight的审核邮件。
👍6