From 9cb5b2fe4bbb0f7375c4c5abcf0b490a0617faef Mon Sep 17 00:00:00 2001 From: ranty Date: Sat, 3 Jun 2017 01:26:31 +0800 Subject: [PATCH 01/30] implement 01 --- 01-hello.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/01-hello.rb b/01-hello.rb index e0e7bbf..673f798 100644 --- a/01-hello.rb +++ b/01-hello.rb @@ -5,4 +5,4 @@ # ... -puts "(请替换成最后的答案)" \ No newline at end of file +puts "(Hello, ranty)" From d4084f3128bc39ec15230dabbe73228e6c0a7be2 Mon Sep 17 00:00:00 2001 From: ranty Date: Wed, 23 Aug 2017 22:08:45 +0800 Subject: [PATCH 02/30] 02-variable --- 02-variable.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/02-variable.rb b/02-variable.rb index a5a4753..3bfdca1 100644 --- a/02-variable.rb +++ b/02-variable.rb @@ -2,7 +2,9 @@ a = 1 b = 2 - +temp = a +a = b +b = temp puts "a 是 #{a}" puts "b 是 #{b}" @@ -10,4 +12,3 @@ puts "a 应该是 2,现在是 #{a}" puts "b 应该是 1,现在是 #{b}" - From 8e312d14a2c9bc6e1dd8c4f8a6e680de95f67c73 Mon Sep 17 00:00:00 2001 From: ranty Date: Thu, 24 Aug 2017 20:45:48 +0800 Subject: [PATCH 03/30] 03-triangle --- 03-triangle.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/03-triangle.rb b/03-triangle.rb index fafec03..d0c38ec 100644 --- a/03-triangle.rb +++ b/03-triangle.rb @@ -2,10 +2,13 @@ print "请输入直角三角形的高,然后按 Enter: " a = gets +c = a.to_i print "请输入直角三角形的底边,然后按 Enter: " b = gets - +d = b.to_i # ..... -puts "直角三角形的面积是: _________" \ No newline at end of file +area = (c * d)/2 + +puts "直角三角形的面积是: #{area}\n" From c5513ad9610f1b0194a9e20befabfe7dfec7e193 Mon Sep 17 00:00:00 2001 From: ranty Date: Thu, 24 Aug 2017 20:55:25 +0800 Subject: [PATCH 04/30] 04-pizzas --- 04-pizzas.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/04-pizzas.rb b/04-pizzas.rb index 4c2521f..047e95a 100644 --- a/04-pizzas.rb +++ b/04-pizzas.rb @@ -2,11 +2,14 @@ print "请输入有多少片比萨饼,然后按 Enter: " pizzas = gets - +a = pizzas.to_i print "请输入有多少人要吃,然后按 Enter: " people = gets - +b = people.to_i # ..... -puts "每人可分得几片: _________ 片" -puts "还剩下几片: _________ 片" \ No newline at end of file +c = a / b +d = c.to_i +e = a - (d * b) +puts "每人可分得几片: ____#{d}_____ 片" +puts "还剩下几片: ____#{e}_____ 片" From b1fc7e824a7ef960471f83c5d2b114ea4d40b774 Mon Sep 17 00:00:00 2001 From: ranty Date: Thu, 24 Aug 2017 23:12:42 +0800 Subject: [PATCH 05/30] 05-bmi --- 05-bmi.rb | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/05-bmi.rb b/05-bmi.rb index 67efdff..a505940 100644 --- a/05-bmi.rb +++ b/05-bmi.rb @@ -6,12 +6,21 @@ print "请输入您的体重(公斤),然后按 Enter: " weight = gets - +a = weight.to_i print "请输入您的身高(厘米),然后按 Enter: " height = gets - +b = height.to_i # ..... +bmi = a / (b*b/10000) + -puts "您的 BMI 是: _________" +if bmi < 18.5 + bmi_target = "过轻" +elsif bmi < 24 + bmi_target = "正常" +else + bmi_target = "过重" +end +puts "您的 BMI 是: ____#{bmi}_____" -puts "您的 BMI 结果是: _________(过轻或正常或过重)" \ No newline at end of file +puts "您的 BMI 结果是: ____#{bmi_target}_____(过轻或正常或过重)" From 60c438f4ff7fb37e3555ee83756031f8db74e0a7 Mon Sep 17 00:00:00 2001 From: ranty Date: Thu, 24 Aug 2017 23:31:28 +0800 Subject: [PATCH 06/30] 06-interger-positive --- 06-interger-positive.rb | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/06-interger-positive.rb b/06-interger-positive.rb index a240f5f..a5b2583 100644 --- a/06-interger-positive.rb +++ b/06-interger-positive.rb @@ -3,8 +3,23 @@ print "请输入一个整数,然后按 Enter: " x = gets - +y = x.to_i # .... -puts "这个数是_____ (正数或零或负数)" -puts "这个数是_____ (偶数或奇数)" \ No newline at end of file +if y < 0 + num = "负数" +elsif y == 0 + num = "零" +else + num = "正数" +end + +puts "这个数是__#{num}___ (正数或零或负数)" + +math = y % 2 +if math == 0 + anwser = "偶数" +else + anwser = "奇数" +end +puts "这个数是__#{anwser}___ (偶数或奇数)" From 5b3c6382aac2cdfa0af120d680c08ee16570768e Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 10:46:29 +0800 Subject: [PATCH 07/30] 07-abcde --- 07-abcde.rb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/07-abcde.rb b/07-abcde.rb index 5d0c8c3..3df81b4 100644 --- a/07-abcde.rb +++ b/07-abcde.rb @@ -18,5 +18,20 @@ z = gets # .... +x = x.to_i +y = y.to_i +z = z.to_i -puts "结果是________(A或B或C或D或E)" \ No newline at end of file +if x < 0 + print result = "A" +elsif (x > 0) && (y > 0) && (z > 0) + print result = "B" +elsif (x > 0) && (y > 0) && (z < 0) + print result = "C" +elsif (x > 0) && (y < 0) && (z > 0) + print result = "D" +elsif (x > 0) && (y < 0) && (z < 0) + print result = "E" +end + +puts "是结果!" From b030f5152bbbd0660a5b6fc3cd4f3d35b63da5c7 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 12:46:17 +0800 Subject: [PATCH 08/30] 08-find-max --- 08-find-max.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/08-find-max.rb b/08-find-max.rb index 9e6e643..2682cbe 100644 --- a/08-find-max.rb +++ b/08-find-max.rb @@ -6,9 +6,10 @@ print "请输入一个数字y,然后按 Enter: " y = gets -print "请输入一个数字z,然后按 Enter: " +print "请输入一个数nn 字z,然后按 Enter: " z = gets # .... -puts "最大的数是 ________(x或y或z)" \ No newline at end of file +result = [x, y, z].max +puts "最大的数是 #{result}" From 225ad2c7999bb3c5ae90b6e3b3bc3d6122875d10 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 12:55:24 +0800 Subject: [PATCH 09/30] 09-function --- 09-function.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/09-function.rb b/09-function.rb index b1f922d..739f695 100644 --- a/09-function.rb +++ b/09-function.rb @@ -1,7 +1,9 @@ # 题目: 输入直角三角形的宽和高,输出三角形的面积 def calculate_area(a, b) - # .... + a = a.to_f + b = b.to_f + calculate_area = a * b * 0.5 end print "请输入直角三角形的高,然后按 Enter: " @@ -12,4 +14,4 @@ def calculate_area(a, b) answer = calculate_area(a,b) -puts "直角三角形的面积是: #{answer}" \ No newline at end of file +puts "直角三角形的面积是: #{answer}" From 4eb3c1d3fef8c2ca701f285fdd0a23d8eb44f320 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 12:57:59 +0800 Subject: [PATCH 10/30] 10-function --- 10-function.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/10-function.rb b/10-function.rb index bb450fb..12f30da 100644 --- a/10-function.rb +++ b/10-function.rb @@ -1,6 +1,10 @@ # 题目: 使用者输入 x,y,z,请输出三个数中最大的数 def find_max(x, y, z) + x = x.to_f + y = y.to_f + z = z.to_f + find_max = [x, y, z].max end print "请输入一个数字x,然后按 Enter: " @@ -16,4 +20,4 @@ def find_max(x, y, z) answer = find_max(x,y,z) -puts "最大的数是 #{answer}" \ No newline at end of file +puts "最大的数是 #{answer}" From d908b3f0992b89876c906d59f3bcbd7c505f75e0 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 13:55:46 +0800 Subject: [PATCH 11/30] 11-seven --- 11-seven.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/11-seven.rb b/11-seven.rb index 26c221d..69e243e 100644 --- a/11-seven.rb +++ b/11-seven.rb @@ -1,9 +1,12 @@ # 题目: 列出 1 到 100 之间,所有 7 的倍数 i = 1 -while ( i <= 100 ) - # .... +while ( i <= 100 ) i+=1 -end \ No newline at end of file + if i % 7 == 0 + puts i + end + +end From a420a7bf650692e07c3be4bc440962d61e44f876 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 16:26:08 +0800 Subject: [PATCH 12/30] 12-subm-even --- 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..f98e1d7 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 = total + i + end # .... i+=1 end -puts total \ No newline at end of file +puts total From 4003fc36ee8900c382b4d8f22d696f6665f4fb9a Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 16:51:02 +0800 Subject: [PATCH 13/30] 13-nn --- 13-nn.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/13-nn.rb b/13-nn.rb index ac0a43b..e16da9b 100644 --- a/13-nn.rb +++ b/13-nn.rb @@ -8,4 +8,15 @@ # # end # end - +i = 0 +j = 0 +n = n.to_i +while (i <= n ) + while (j <= n) + result = i * j + puts "#{i} x #{j} = #{result}" + j+=1 + end + i+=1 + j = 0 +end From 43dc8ebb0cb57b470150a5a285229031e99487f9 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 17:55:13 +0800 Subject: [PATCH 14/30] 14-prime --- 14-prime.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/14-prime.rb b/14-prime.rb index 8cf1692..868f3bb 100644 --- a/14-prime.rb +++ b/14-prime.rb @@ -1,7 +1,19 @@ # 输入一个数字 N,请检查是不是质数 def is_prime(n) -# .... + i = 2 + while (i <= n/2) + a = n % i + if a != 0 + i+=1 + else + break + return false + end + end + if i > n / 2 + return true + end end print "请输入数字 N,然后按 Enter: " From b3fe5601e424a1d7abf64243ef704a3686bf2bc9 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 18:07:19 +0800 Subject: [PATCH 15/30] 15-guess-number --- 15-guess-number.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/15-guess-number.rb b/15-guess-number.rb index 48f9dca..250b389 100644 --- a/15-guess-number.rb +++ b/15-guess-number.rb @@ -5,13 +5,16 @@ while (true) print "请猜一个 0~99 的数字 N,然后按 Enter: " n = gets + if n.to_i < target + puts "太低了,再猜一次" + elsif n.to_i > target + puts "太高了,再猜一次" + end - #puts "太低了,再猜一次" - #puts "太高了,再猜一次" if n.to_i == target puts "恭喜猜中啦! " break end -end \ No newline at end of file +end From eab7cd891a19b7e1aff001fa89ed45e7545c5a12 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 18:12:11 +0800 Subject: [PATCH 16/30] 16-array-sum --- 16-array-sum.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/16-array-sum.rb b/16-array-sum.rb index 9b4910b..aa03ad8 100644 --- a/16-array-sum.rb +++ b/16-array-sum.rb @@ -1,11 +1,10 @@ # 给定一阵列内含数字,输出最大值 def find_max(array) - #.... + find_max = array.max end arr = [8, 12, 36, 53, 9, 75, 3, 71, 59, 88] max = find_max(arr) puts "Max is #{max}" # 应该是 88 - From 89c2c16f143803019c6544f154c92d7063471a37 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 18:40:29 +0800 Subject: [PATCH 17/30] 17-array-stats --- 17-array-stats.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/17-array-stats.rb b/17-array-stats.rb index 0af81bb..7cbae5c 100644 --- a/17-array-stats.rb +++ b/17-array-stats.rb @@ -11,10 +11,13 @@ arr << user_input.to_i end end +sum = 0 +arr.each { |i| sum += i } +average = sum/arr.length puts arr.to_s -puts "总和是 _____" -puts "平均是 _____" -puts "最大值是 _____" -puts "最小值是 _____" \ No newline at end of file +puts "总和是 __#{sum}___" +puts "平均是 __#{average}___" +puts "最大值是 __#{arr.max}___" +puts "最小值是 __#{arr.min}___" From ef53b536e280b8f3fc5d55e536fa1c4c201b2732 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 18:51:32 +0800 Subject: [PATCH 18/30] 18-square --- 18-square.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/18-square.rb b/18-square.rb index 226e1c1..6d2c726 100644 --- a/18-square.rb +++ b/18-square.rb @@ -3,8 +3,10 @@ arr = [] print "请输入数字 N,然后按 Enter: " -n = gets +n = gets.to_i # ... - -puts arr.to_s \ No newline at end of file +(0..n).each_with_index do |i, j| + arr << j ** 2 +end +puts arr.to_s From 39d69e5279f75a4bbbe031419c2e99369e480552 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 20:48:10 +0800 Subject: [PATCH 19/30] 19-filter --- 19-filter.rb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/19-filter.rb b/19-filter.rb index ef7e515..42dde6b 100644 --- a/19-filter.rb +++ b/19-filter.rb @@ -1,9 +1,17 @@ # 给定一阵列内含数字,输出另一个数组只包含偶数 def filter_even(arr) - #... + new_arr = [] + + arr.each do |i| + if i % 2 == 0 + new_arr << i + end + end + print "#{new_arr}" + 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 585536cc49a1a1f1814f6658fa008dc50bc171db Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 20:55:11 +0800 Subject: [PATCH 20/30] 20-sorting --- 20-sorting.rb | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/20-sorting.rb b/20-sorting.rb index 5f82c08..abef99d 100644 --- a/20-sorting.rb +++ b/20-sorting.rb @@ -2,10 +2,19 @@ # Hint: 可用 arr.sort 排序,和 arr.uniq 去除重复 def filter_even(arr) - #... + new_arr = [] + + arr.each do |i| + if i % 2 == 0 + new_arr << i + end + end + + print "#{new_arr.sort.uniq}" + 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 f1baa20bba7f58805d573a4e8e7dceec143455ed Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:07:22 +0800 Subject: [PATCH 21/30] 21-selection-sort --- 21-selection-sort.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/21-selection-sort.rb b/21-selection-sort.rb index 9cb58f8..cce86e6 100644 --- a/21-selection-sort.rb +++ b/21-selection-sort.rb @@ -2,11 +2,16 @@ # https://zh.wikipedia.org/wiki/选择排序 def insertion_sort(arr) - #... + (0...arr.length).each do |i| + min, index = arr[i], i + (i...arr.length).each { |j| min, index = arr[j], j if arr[j] < min } + arr[i], arr[index] = arr[index], arr[i] + end + arr end arr = [7, 68, 42, 46, 9, 91, 77, 46, 86, 1] answer = insertion_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 6b63c8697dc94b9ebe6bf60ede67a44c36684bdb Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:16:22 +0800 Subject: [PATCH 22/30] 22-missing --- 22-missing.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/22-missing.rb b/22-missing.rb index 6898714..3c43964 100644 --- a/22-missing.rb +++ b/22-missing.rb @@ -1,7 +1,11 @@ # 给定一阵列内含数字,请输出 0~9 中不见的数字 def find_missing(arr) - # ... + new_arr = [] + (0..9).each do |i| + new_arr << i unless arr.include?(i) + end + new_arr end answer = find_missing( [2,2,1,5,8,4] ) From 28d24fe765288c6c6ee223f5044f82ebde008ba9 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:25:24 +0800 Subject: [PATCH 23/30] 23-hash-max --- 23-hash-max.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/23-hash-max.rb b/23-hash-max.rb index 6fb227e..10ee3e5 100644 --- a/23-hash-max.rb +++ b/23-hash-max.rb @@ -1,9 +1,15 @@ # 给定一 Hash,输出有最大 value 的 key def find_max(hash) - # ... + hash.each do |key, value| + if value == hash.values.max + return key + end + end end + + h = { "a" => 71, "b" => 38, @@ -15,5 +21,3 @@ def find_max(hash) answer = find_max(h) puts "有最大 value 的是 #{answer}" # 应该是 d - - From 045ec87f974e5627d4112db7ba480c1164bad367 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:33:50 +0800 Subject: [PATCH 24/30] 24-hash-even --- 24-hash-even.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/24-hash-even.rb b/24-hash-even.rb index 9da9605..34ccdc7 100644 --- a/24-hash-even.rb +++ b/24-hash-even.rb @@ -1,9 +1,13 @@ # 给定一 Hash,输出 value 是偶数的 keys def find_even_keys(hash) - - # ... (请回传一个数组) - + new_arr = [] + hash.each do |key, value| + if value % 2 == 0 + new_arr << key + end + end + new_arr end h = { @@ -17,5 +21,3 @@ def find_even_keys(hash) answer = find_even_keys(h) puts "有偶数 value 的 keys 有 #{answer}" # 应该是数组 [b,d,e] - - From 9e55313a98e30a671940ea91792dd20aa1d4ab56 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:38:25 +0800 Subject: [PATCH 25/30] 25-hash-count --- 25-hash-count.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/25-hash-count.rb b/25-hash-count.rb index 2167335..a62ceae 100644 --- a/25-hash-count.rb +++ b/25-hash-count.rb @@ -4,7 +4,8 @@ def count(arr) h = {} arr.each do |i| - # ... + frequency = arr.count(i) + h[i] = frequency end return h # 回传一个 hash @@ -15,4 +16,3 @@ def count(arr) answer = count(arr) puts answer # 答案应该是 {"a"=>3, "d"=>6, "c"=>5, "b"=>1, "e"=>5} - From 3706558e3301152914d10f040435bb82e33cf874 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:44:32 +0800 Subject: [PATCH 26/30] 26-hash-filter --- 26-hash-filter.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/26-hash-filter.rb b/26-hash-filter.rb index 51ade64..28ea453 100644 --- a/26-hash-filter.rb +++ b/26-hash-filter.rb @@ -8,9 +8,19 @@ { "name" => "Vincent", "age" => 6 }, ] -# .... +def filter_array(arr) + result_arr = [] + arr.each do |h| + if h["age"] >= 18 + result_arr.push(h) + end + end -puts "所有成年人,并由小到大: _________" + result_arr.sort_by { |i| i["age"]} + +end + +puts "所有成年人,并由小到大: ____#{filter_array(arr)}_____" # 答案应该是 #[ From 795582660952495632cfb965e3cc51ebcb8c108a Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 21:52:51 +0800 Subject: [PATCH 27/30] 27-class --- 27-class.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/27-class.rb b/27-class.rb index 8cec2c9..91b9331 100644 --- a/27-class.rb +++ b/27-class.rb @@ -1,5 +1,8 @@ class Person - # ... + attr_accessor :first_name, :last_name + def greet + puts "Hello, #{first_name} #{last_name}" + end end p1 = Person.new @@ -11,6 +14,3 @@ class Person p2.first_name = "William" p2.last_name = "Zhang" p2.greet # 输出 "Hello, William Zhang" - - - From d4fe2c5ab26fd6e657572d3d303fdaf7ae3703aa Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 22:00:58 +0800 Subject: [PATCH 28/30] 28-word-count --- 28-word-count.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/28-word-count.rb b/28-word-count.rb index 2643123..770fd45 100644 --- a/28-word-count.rb +++ b/28-word-count.rb @@ -2,4 +2,12 @@ doc = File.read("wordcount.txt") -# ... + words = doc.downcase.scan(/\w+/) + + result = {} + + words.each do |i| + result[i] = words.count(i) + end + + puts result.sort From 84536532b3982208b706a1a624a7580652922308 Mon Sep 17 00:00:00 2001 From: ranty Date: Fri, 25 Aug 2017 22:26:46 +0800 Subject: [PATCH 29/30] 29-todos --- 29-todos.rb | 17 +++++++++++------ todos.txt | 2 ++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/29-todos.rb b/29-todos.rb index 0bddde2..98ed681 100644 --- a/29-todos.rb +++ b/29-todos.rb @@ -1,5 +1,3 @@ -# 简易 Todo 代办事项应用 - text = File.read("todos.txt") todos = [] @@ -17,17 +15,24 @@ if command == "add" print "请输入代办事项: " - # ... + add = gets + todos << add elsif command == "remove" print "请输入要删除的编号: " - # ... + remove = gets + todos.delete_at(remove.to_i) elsif command == "save" puts "存盘离开" - # ... + target = File.open("todos.txt", "w+") + for i in todos + target.write(i) + target.write("\n") + end + target.close() break; + else puts "看不懂,请再输入一次" end end - diff --git a/todos.txt b/todos.txt index 4757e85..1d41d53 100644 --- a/todos.txt +++ b/todos.txt @@ -2,3 +2,5 @@ Buy book Go Shopping Walk Gogo +Go fishing + From 262c5042455e5483714dc814e76eccb6be2f7dd3 Mon Sep 17 00:00:00 2001 From: ranty720 Date: Fri, 25 Aug 2017 22:28:57 +0800 Subject: [PATCH 30/30] Create README.md --- 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..8b5d833 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# 编程基础练习-孙小龙