Тема:
Продвинутые строки
Строки
Переменные
Массивы
Циклы «for»
Условные операторы
Цели:
Найди шпиона.
Введение:
Шпион среди нас!
Найди союзника с буквой z
, что бы найти шпиона!
Заметки:
Строки похожи на массивы. Они имеют длину и могут иметь индекс (ссылку на элемент), так же как массивы.
На этом уровне вам нужно перебрать массив по всей длинне, что бы найти символ внутри имени союзника носящий шпионский знак.
Python:
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 |
# Внутренние двери могут задержать огров на очень длительное время. # Но один из крестьян орг-шпион! # У нас есть подсказка: имя шпиона содержит букву "z" # Эта функция делает проверку содержится ли в массиве некий number: def numberInArray(array, number): for i in range(len(array)): if array[i] == numb: return True return False # Эта функция должна проверять, содержит ли строка определенный символ: def letterInWord(word, letter): # Перебрать каждый индекс строки и проверить, соответствует ли символ букве: for i in range(len(word)): if word[i] == letter: return True return False spyLetter = "z" friends = hero.findFriends() for j in range(len(friends)): friendName = friends[j].id if letterInWord(friendName, spyLetter): # Выявить шпиона! hero.say(friendName + " is a spy!") # else: #hero.say(friendName + " is a friend.") # ∆ Удалите эту строку после вызова функции letterInWord |
JavaScript:
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 32 33 34 35 36 37 |
// Внутренние двери могут задержать огров на очень длительное время. // Но один из крестьян орг-шпион! // У нас есть подсказка: имя шпиона содержит букву "z" // Эта функция делает проверку содержится ли в массиве некий number: function numberInArray(array, numb) { for (var i = 0; i < array.length; i++) { if (array[i] === numb) { return true; } } return false; } // Эта функция должна проверять, содержит ли строка определенный символ: function letterInWord(word, letter) { // Перебрать каждый индекс строки и проверить, соответствует ли символ букве: for (var i = 0; i < word.length; i++) { if (word[i] === letter) { return true; } } return false; } var spyLetter = "z"; var friends = hero.findFriends(); for (var j = 0; j < friends.length; j++) { var friendName = friends[j].id; if (letterInWord(friendName, spyLetter)) { // Выявить шпиона! hero.say(friendName + " is a spy!!!"); // } else { // hero.say(friendName + " is a friend."); // ∆ Удалите эту строку после вызова функции letterInWord } } |
CoffeScript:
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 |
# Внутренние двери могут задержать огров на очень длительное время. # Но один из крестьян орг-шпион! # У нас есть подсказка: имя шпиона содержит букву "z" # Эта функция делает проверку содержится ли в массиве некий number: @numberInArray = (array, numb) -> # Перебрать каждый индекс строки и проверить, соответствует ли символ букве: for i in [0..array.length-1] if array[i] == numb return true return false # Эта функция должна проверять, содержит ли строка определенный символ: @letterInWord = (word, letter) -> for i in [0..word.length-1] if word[i] == letter return true return false spyLetter = "z" friends = @findFriends() for j in [0..friends.length-1] friendName = friends[j].id if @letterInWord friendName, spyLetter # Выявить шпиона! @say friendName + " is a spy!" #else # @say friendName + " is a friend."# ∆ Удалите эту строку после вызова функции letterInWord @say "All ok" |
Clojure:
1 |
;; |
LUA:
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 32 33 34 35 36 37 38 |
-- Внутренние двери могут задержать огров на очень длительное время. -- Но один из крестьян орг-шпион! -- У нас есть подсказка: имя шпиона содержит букву "z" -- Эта функция делает проверку содержится ли в массиве некий number: function self.numberInArray(array, numb) for i=1, #array do if array[i] == numb then return true end end return false end -- Эта функция должна проверять, содержит ли строка определенный символ: function self.letterInWord(word, letter) -- Перебрать каждый индекс строки и проверить, соответствует ли символ букве: for i=1, #word do if word[i] == letter then return true end end return false end local spyLetter = "z" local friends = self:findFriends() for j=1, #friends do local friendName = friends[j].id if self.letterInWord(friendName, spyLetter) then -- Выявить шпиона! self:say(friendName + " is a spy!") --else --self:say(friendName + " is a friend.") -- ∆ Удалите эту строку после вызова функции letterInWord end end |
Комментарии: