From b8a7aac45a557c7eaab1a0a4083a13bece6d13c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Wed, 23 Aug 2017 22:05:18 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E8=BE=93=E5=85=A5=E3=80=81=E5=A4=84?= =?UTF-8?q?=E7=90=86=E3=80=81=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01-hello.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index e0e7bbf..85da3da 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,5 @@ # ... -puts "(请替换成最后的答案)" \ No newline at end of file +puts "Hello," + your_name +#puts "Hello, #{your_name}" From 0637fa7a1e75dc51ba2e41dd43453ca3a2f3ce1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Wed, 23 Aug 2017 22:21:50 +0800 Subject: [PATCH 02/33] add notify_cancel/ship function --- 02-variable.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/02-variable.rb b/02-variable.rb index a5a4753..8079b95 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -6,8 +6,10 @@ puts "a 是 #{a}" puts "b 是 #{b}" +c = a +a = b +b = c # ... puts "a 应该是 2,现在是 #{a}" puts "b 应该是 1,现在是 #{b}" - From c90c59fa2c26c6a18d5ff47811ae9266eb636567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Wed, 23 Aug 2017 22:23:06 +0800 Subject: [PATCH 03/33] add notify_cancel/ship function --- 02-variable.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/02-variable.rb b/02-variable.rb index 8079b95..14a2f3b 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -9,6 +9,7 @@ c = a a = b b = c + # ... puts "a 应该是 2,现在是 #{a}" From 45d1c9215aa24e810e985dfb20882081f44d9af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Wed, 23 Aug 2017 22:24:39 +0800 Subject: [PATCH 04/33] =?UTF-8?q?=E4=BA=A4=E6=8D=A2=E5=8F=98=E6=95=B0a=20?= =?UTF-8?q?=E5=92=8C=E5=8F=98=E6=95=B0b=E7=9A=84=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02-variable.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/02-variable.rb b/02-variable.rb index 14a2f3b..8079b95 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -9,7 +9,6 @@ c = a a = b b = c - # ... puts "a 应该是 2,现在是 #{a}" From 0502ef3b97ee08d75105d2c16560f1ff1aee3891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Wed, 23 Aug 2017 22:50:13 +0800 Subject: [PATCH 05/33] =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=9B=B4=E8=A7=92?= =?UTF-8?q?=E4=B8=89=E8=A7=92=E5=BD=A2=E7=9A=84=E5=BA=95=E5=92=8C=E9=AB=98?= =?UTF-8?q?=EF=BC=8C=E8=BE=93=E5=87=BA=E4=B8=89=E8=A7=92=E5=BD=A2=E7=9A=84?= =?UTF-8?q?=E9=9D=A2=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 03-triangle.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..130c667 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -6,6 +6,7 @@ print "请输入直角三角形的底边,然后按 Enter: " b = gets +c = (b.to_i * a.to_i)/2 # ..... -puts "直角三角形的面积是: _________" \ No newline at end of file +puts "直角三角形的面积是: ___#{c}_____" From 511cdbbda5f499cff9d723a071c8eefc2967588b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 00:06:34 +0800 Subject: [PATCH 06/33] 04-pizzas.rb --- 04-pizzas.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..42c4a32 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -6,7 +6,9 @@ print "请输入有多少人要吃,然后按 Enter: " people = gets +a = pizzas.to_i/people.to_i +b = pizzas.to_f % people.to_i # ..... -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file +puts "每人可分得几片: ____#{a}_____ 片" +puts "还剩下几片: ____#{b}_____ 片" From 39197db9542f49c01f4ae9efb82dced1200591e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 14:57:07 +0800 Subject: [PATCH 07/33] 05-bmi.rb --- 05-bmi.rb | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..49afb61 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -10,8 +10,19 @@ print "请输入您的身高(厘米),然后按 Enter: " height = gets +a = weight.to_f/(height.to_f*height.to_f) + + if a<18.5 + b = "体重过轻" + elsif a>24 + b = "体重过重" + elsif a>18.5 && a<24 + + b = "正常" + end + # ..... -puts "您的 BMI 是: _________" +puts "您的 BMI 是: ______#{a}___" -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 结果是: ____#{b}____(过轻或正常或过重)" From c4d1fbe9e9309c5796478f2cc77065cf35337194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 17:15:07 +0800 Subject: [PATCH 08/33] 06-integer-positive.rb --- 06-interger-positive.rb | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..b90f3a4 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -2,9 +2,26 @@ print "请输入一个整数,然后按 Enter: " -x = gets +x = gets.to_i +if x > 0 + a = "正数" +elsif x < 0 + a = "负数" +elsif x == 0 + a = "零" +end + +b = x%2 + +if x < 0 + c = "不是奇数也不是偶数" +elsif b == 0 + c = "偶数" +elsif b == 1 + c = "奇数" +end # .... -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +puts "这个数是____#{a}_ (正数或零或负数)" +puts "这个数是____#{c}_ (偶数或奇数)" From f133a3586fcbd8ace7d987bcb2ec94043e473d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 17:59:27 +0800 Subject: [PATCH 09/33] 07-abcde.rb --- 07-abcde.rb | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..1c080c6 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -9,14 +9,32 @@ # 当 z < 0 输出 "E" print "请输入一个整数x,然后按 Enter: " -x = gets +x = gets.to_i print "请输入一个整数y,然后按 Enter: " -y = gets +y = gets.to_i print "请输入一个整数z,然后按 Enter: " -z = gets +z = gets.to_i + + if x < 0 + t ="A" +elsif x > 0 + if y > 0 + if z > 0 + t = "B" + elsif z < 0 + t = "C" + end + elsif y < 0 + if z > 0 + t = "D" + elsif z < 0 + t = "E" + end + end + end # .... -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +puts "结果是___#{t}_____(A或B或C或D或E)" From 86ee1ec02fca34a6244143a390f6e8f191409049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 21:47:43 +0800 Subject: [PATCH 10/33] 08-find-max.rb --- 08-find-max.rb | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..97e2c44 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -1,14 +1,29 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 print "请输入一个数字x,然后按 Enter: " -x = gets +x = gets.to_i print "请输入一个数字y,然后按 Enter: " -y = gets +y = gets.to_i print "请输入一个数字z,然后按 Enter: " -z = gets +z = gets.to_i + + + if x > y + if x > z + t = "x" + else + t = "z" + end + else + if y > z + t = "y" + else + t = "z" + end + end # .... -puts "最大的数是 ________(x或y或z)" \ No newline at end of file +puts "最大的数是 ____#{t}____(x或y或z)" From 5fd23d9468003da9d53fde930070c1bb1b247fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 22:03:53 +0800 Subject: [PATCH 11/33] 09-function.rb --- 09-function.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..9dc946a 100644 --- a/09-function.rb +++ b/09-function.rb @@ -1,15 +1,16 @@ # 题目: 输入直角三角形的宽和高,输出三角形的面积 def calculate_area(a, b) + return "#{b * a / 2}" # .... end print "请输入直角三角形的高,然后按 Enter: " -a = gets +a = gets.to_i print "请输入直角三角形的底边,然后按 Enter: " -b = gets +b = gets.to_i answer = calculate_area(a,b) -puts "直角三角形的面积是: #{answer}" \ No newline at end of file +puts "直角三角形的面积是: #{answer}" From 77586ad975da7cc0fd4d2951a059466987f98022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 22:13:02 +0800 Subject: [PATCH 12/33] 10-function.rb --- 10-function.rb | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..f39136e 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,19 +1,32 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + if x > y + if x > z + t = "x" + else + t = "z" + end + else + if y > z + t = "y" + else + t = "z" + end + end end print "请输入一个数字x,然后按 Enter: " -x = gets +x = gets.to_i print "请输入一个数字y,然后按 Enter: " -y = gets +y = gets.to_i print "请输入一个数字z,然后按 Enter: " -z = gets +z = gets.to_i # .... answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From 294e746611d652783c011b0923a81132468b27f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 22:29:18 +0800 Subject: [PATCH 13/33] 11-seven.rb --- 11-seven.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..e098bd6 100644 --- a/11-seven.rb +++ b/11-seven.rb @@ -2,8 +2,11 @@ i = 1 while ( i <= 100 ) - + if i % 7 == 0 + puts i + end # .... i+=1 -end \ No newline at end of file + +end From 45238054378984511cb6d54bf415b2a3b8ff507b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 22:43:58 +0800 Subject: [PATCH 14/33] 12-sum-even.rb --- 12-sum-even.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/12-sum-even.rb b/12-sum-even.rb index 73879bb..e09e554 100644 --- a/12-sum-even.rb +++ b/12-sum-even.rb @@ -4,10 +4,12 @@ total = 0 while ( i <= 100 ) - + if i % 2 == 0 + total += i + end # .... i+=1 end -puts total \ No newline at end of file +puts total From 40618e1f80ba22fd71769b7c123285156bab8d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Thu, 24 Aug 2017 23:47:51 +0800 Subject: [PATCH 15/33] 13-nn.rb --- 13-nn.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..49ca470 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -1,11 +1,15 @@ # 题目: 输入一个数字 N,输出 N * N 乘法表 print "请输入数字 N,然后按 Enter: " -n = gets - -# while ( ... ) -# while ( ...) -# -# end -# end +n = gets.to_i +i = 0 +j = 0 + while ( i <= n ) + while ( j <= n) + puts "#{i} x #{j} = #{i * j}" + j += 1 + end + j = 0 + i += 1 + end From 290f6ba2f9911cd62d2cfbbc061b883efd24e928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Fri, 25 Aug 2017 00:30:36 +0800 Subject: [PATCH 16/33] 14-prime.rb --- 14-prime.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..2aa73ab 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -1,6 +1,17 @@ # 输入一个数字 N,请检查是不是质数 def is_prime(n) + i = 2 + if n < 2 + return false + end + while (i < n) + if n % i == 0 + return false + end + i += 1 + end + return true # .... end From 255d489916b815043425bd1832df90194eb50856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Fri, 25 Aug 2017 15:13:16 +0800 Subject: [PATCH 17/33] 15-guess-number.rb --- 15-guess-number.rb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/15-guess-number.rb b/15-guess-number.rb index 48f9dca..5ca1dcf 100644 --- a/15-guess-number.rb +++ b/15-guess-number.rb @@ -4,14 +4,16 @@ while (true) print "请猜一个 0~99 的数字 N,然后按 Enter: " - n = gets - - #puts "太低了,再猜一次" - #puts "太高了,再猜一次" - - if n.to_i == target + n = gets.to_i + if n < target + puts "太低了,再猜一次" + elsif n > target + puts "太高了,再猜一次" + elsif n.to_i == target puts "恭喜猜中啦! " break - end -end \ No newline at end of file + end + #puts "太低了,再猜一次" + #puts "太高了,再猜一次" +end From 6945604d25ae2653be02ce6cee6bfaa18f611627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Fri, 25 Aug 2017 16:05:36 +0800 Subject: [PATCH 18/33] 16-array-sum.rb --- 16-array-sum.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..59bd391 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -1,11 +1,17 @@ # 给定一阵列内含数字,输出最大值 def find_max(array) + x = 0 + array.each do |i| + if i > x + x = i + end + end + return x #.... end -arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88] +arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88,] max = find_max(arr) puts "Max is #{max}" # 应该是 88 - From 19fa2c727d5d53e23f27133f1a296b5b9f63f1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Fri, 25 Aug 2017 18:29:34 +0800 Subject: [PATCH 19/33] 17-array-stats.rb --- 17-array-stats.rb | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..dc2fb22 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -12,9 +12,48 @@ end end + puts arr.to_s -puts "总和是 _____" -puts "平均是 _____" -puts "最大值是 _____" -puts "最小值是 _____" \ No newline at end of file +def total(array) + t = 0 + array.each do |i| + t = t + i + end + return t +end + +def average(array) + a = total(array) + b = total(array)/array.size +end + +def find_max(array) + x = 0 + array.each do |i| + if i > x + x = i + end + end + return x +end + +def find_min(array) + x = array[0] + array.each do |i| + if i < x + x = i + end + end + return x +end + +max = find_max(arr) +min = find_min(arr) + +puts "总和是 _#{total(arr)}____" +puts "平均是 __#{average(arr)}___" +puts "最大值是 _#{max}___" +puts "最小值是 _#{min}____" + +#也可以直接调用数组对象的max(最大)和min(最小)方法 From 0f5837f14dc296a70c2680e1c7108a30584c4b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sat, 26 Aug 2017 16:28:38 +0800 Subject: [PATCH 20/33] 18-square.rb --- 18-square.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..8f1249f 100644 --- a/18-square.rb +++ b/18-square.rb @@ -3,8 +3,21 @@ arr = [] print "请输入数字 N,然后按 Enter: " -n = gets +n = gets.to_i +# 方法一 : +for i in 0..n-1 + arr << i * i +end + +#方法二 : +=begin +i = 0 +while (i < n) + arr << i * i + i += 1 +end +=end # ... -puts arr.to_s \ No newline at end of file +puts arr.to_s From 28b53b2c76a704140f7688f218f9d3104913a311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sat, 26 Aug 2017 16:40:34 +0800 Subject: [PATCH 21/33] 19-filter.rb --- 19-filter.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..b3fe857 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -1,9 +1,16 @@ # 给定一阵列内含数字,输出另一个数组只包含偶数 def filter_even(arr) + a = [] + for i in arr + if i % 2 == 0 + a << i + end + end + return a #... end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] -puts filter_even(arr).to_s # 应该是 [68, 42, 46, 46, 86] \ No newline at end of file +puts filter_even(arr).to_s # 应该是 [68, 42, 46, 46, 86] From db798efacbb0d977ed76409310851f1982804149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sat, 26 Aug 2017 19:19:16 +0800 Subject: [PATCH 22/33] 20-sorting.rb --- 20-sorting.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..3710012 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -2,10 +2,20 @@ # Hint: 可用 arr.sort 排序,和 arr.uniq 去除重复 def filter_even(arr) - #... + a = [] + for i in arr + if i % 2 == 0 + a << i + end + end + a = a.uniq + return a.sort + end + + arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] -puts "________" # 应该是 [42, 46, 68, 86] \ No newline at end of file +puts "__#{filter_even(arr)}______" # 应该是 [42, 46, 68, 86] From 997274b07c0c6ed898aea9677d83e21b708d39ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sun, 27 Aug 2017 16:58:18 +0800 Subject: [PATCH 23/33] 21-selection-sort.rb --- 21-selection-sort.rb | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index e5e7eae..83e6c28 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -3,10 +3,26 @@ def selection_sort(arr) #... + + k = 0 + array = [] + x = 0 + while x < arr.size + a = arr[0] + arr.each_with_index do |i, j| + if i <= a + a = i + k = j + end + end + array << a + arr.delete_at(k) + end + return array end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] answer = selection_sort(arr) -puts answer.to_s # 应该是 [1, 7, 9, 42, 46, 46, 68, 77, 86, 91] \ No newline at end of file +puts answer.to_s # 应该是 [1, 7, 9, 42, 46, 46, 68, 77, 86, 91] From 932398902e2b736771da42feda650ffde4f2f963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sun, 27 Aug 2017 17:21:16 +0800 Subject: [PATCH 24/33] 22-missing.rb --- 22-missing.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/22-missing.rb b/22-missing.rb index 6898714..66f9a0d 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -1,7 +1,14 @@ # 给定一阵列内含数字,请输出 0~9 中不见的数字 def find_missing(arr) - # ... + array = [0,1,2,3,4,5,6,7,8,9] + answer = [] + array.each do |i| + unless arr.include?(i) + answer << i + end + end + return answer end answer = find_missing( [2,2,1,5,8,4] ) From 6331600fcb77c099bb2262cbb09838e37316c53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sun, 27 Aug 2017 19:44:47 +0800 Subject: [PATCH 25/33] 23-hash-max.rb --- 23-hash-max.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..e799656 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -1,7 +1,15 @@ # 给定一 Hash,输出有最大 value 的 key def find_max(hash) - # ... + i = 0 + k = "" + hash.each do |key, value| + if value > i + i = value + k = key + end + end + return k end h = { @@ -15,5 +23,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 6e2ca251a735f21b96a63a3cc2e9320cfa25c4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sun, 27 Aug 2017 21:10:51 +0800 Subject: [PATCH 26/33] 24-hash-even.rb --- 24-hash-even.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..82dd45f 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -2,8 +2,14 @@ def find_even_keys(hash) - # ... (请回传一个数组) - + i = [] + hash.each do |key, value| + if value % 2 == 0 + i << key + end + end + + return i end h = { @@ -17,5 +23,3 @@ def find_even_keys(hash) answer = find_even_keys(h) puts "有偶数 value 的 keys 有 #{answer}" # 应该是数组 [b,d,e] - - From 78710242dcbbbf53aeb60cd749b63fd503224c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Sun, 27 Aug 2017 22:17:10 +0800 Subject: [PATCH 27/33] 25-hash-count.rb --- 25-hash-count.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..cb050ca 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -4,7 +4,11 @@ def count(arr) h = {} arr.each do |i| - # ... + if h[i] + h[i] += 1 + else + h[i] = 1 + end end return h # 回传一个 hash @@ -15,4 +19,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From b30cea0cf4a9b2ae369b1dff2e4378836b972742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 00:01:00 +0800 Subject: [PATCH 28/33] 26-hash-filter.rb --- 26-hash-filter.rb | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..c97e609 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -8,9 +8,29 @@ { "name" => "Vincent", "age" => 6 }, ] +def under_age(arr) + array = [] + k = 0 + x = 0 + while x < arr.size + a = arr[0]["age"] + arr.each_with_index do |i, j| + if i["age"] <= a + a = i["age"] + k = j + end + end + if arr[k]["age"] > 18 + array << arr[k] + end + arr.delete_at(k) + end + return array +end + # .... -puts "所有成年人,并由小到大: _________" +puts "所有成年人,并由小到大: _#{under_age(arr)}________" # 答案应该是 #[ From 84e1d8588d00efc5a2d537ab5447b437a69ea6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 14:59:08 +0800 Subject: [PATCH 29/33] 27-class.rb --- 27-class.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..8c110ed 100644 --- a/27-class.rb +++ b/27-class.rb @@ -1,5 +1,9 @@ class Person - # ... + attr_accessor :first_name, :last_name + + def greet + puts "Hi, #{@first_name} #{@last_name}" + end end p1 = Person.new @@ -11,6 +15,3 @@ class Person p2.first_name = "William" p2.last_name = "Zhang" p2.greet # 输出 "Hello, William Zhang" - - - From b57bb8e4d52a9579e6f2b10eb0585191f0a1449d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 15:52:10 +0800 Subject: [PATCH 30/33] 28-word-count.rb --- 28-word-count.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..2e52ec1 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -1,5 +1,22 @@ # 请打开 wordcount.txt,计算每个单字出现的次数 doc = File.read("wordcount.txt") +arr = doc.gsub(/[.,]/ ,"").split(" ") + +def count(arr) + h = {} + arr.each do |i| + if h[i] + h[i] += 1 + else + h[i] = 1 + end + end + return h +end + +answer = count(arr) # ... + +puts answer From c804719f0c9ab6cb088d18ac89350988028aa858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 16:50:25 +0800 Subject: [PATCH 31/33] 29-todos.rb --- 29-todos.rb | 14 +++++++++++++- todos.txt | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..c9d3968 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -17,17 +17,29 @@ if command == "add" print "请输入代办事项: " + add = gets.chomp + todos << add + puts todos + # ... elsif command == "remove" print "请输入要删除的编号: " + remove = gets.to_i + todos.delete_at(remove) + puts todos # ... elsif command == "save" puts "存盘离开" + File.open("todos.txt", "w+") do |f| + todos.each do |i| + f << i + f << "\n" + end + end # ... break; else puts "看不懂,请再输入一次" end end - diff --git a/todos.txt b/todos.txt index 4757e85..b33a4f3 100644 --- a/todos.txt +++ b/todos.txt @@ -2,3 +2,6 @@ Buy book Go Shopping Walk Gogo +wei +yue +yan From b62169d5136cf8404c9882be47490d5a4a6d9659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 16:52:31 +0800 Subject: [PATCH 32/33] week --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8545d1a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +编程基础练习作业 From c18a66e1aa24985ec10f367a4ef255614c2bbc23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E6=9C=88=E7=82=8E?= Date: Mon, 28 Aug 2017 17:46:46 +0800 Subject: [PATCH 33/33] 04-pizzas.rb --- 04-pizzas.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 42c4a32..8034c6a 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -7,7 +7,7 @@ people = gets a = pizzas.to_i/people.to_i -b = pizzas.to_f % people.to_i +b = pizzas.to_i % people.to_i # ..... puts "每人可分得几片: ____#{a}_____ 片"