TIL41. Python:Pre-Course中間試験


🌈 Django:授業前期中試験
🔥 is_even
🔥 calculateTotal
🔥 get_prefix
🔥 get_find
🔥 find_longest_word
1. is_even
🤔 偶数か否かを判別する関数is偶数を記入してください.
✔0が偶数なのか奇数なのか紛らわしいので、先にelifで処理したいのですが、テストに合格できない場合は、まずゼロを確認するコードで修正しますが、合格したら提出します.
def is_even(num):
    if num % 2 == 0:
      return "짝수 입니다."
    elif num % 2 == 1:
      return "짝수가 아닙니다."
print(is_even(11)) # --> "짝수가 아닙니다."
print(is_even(10)) # --> "짝수 입니다."  
0を処理する必要がある場合は、次のコードを記述できます.でも終わって探した結果0は偶数でした.
def is_even(num):
    if num == 0:
        return "0입니다."
    elif num % 2:
      return "짝수가 아닙니다."
    else:
      return "짝수 입니다."
print(is_even(11)) # --> "짝수가 아닙니다."
print(is_even(10)) # --> "짝수 입니다."  
✔js解は以下の通り.
function isEven(num) {
  if(num % 2){
    return "짝수가 아닙니다."
  }else{
    return "짝수 입니다."
  }
}
console.log(isEven(11)) // --> "짝수가 아닙니다."
console.log(isEven(10)) // --> "짝수 입니다."
2. calculateTotal
🤔 チップ(15%)と税金(9.5%)を除いた食事代は、総食事代を返してください.
✔pythonで解決しました.下記の通りです.
def calculate_total(amount):
  amount = amount + (amount*0.095) + (amount*0.15)
  return amount
print(calculate_total(20))  --> 24.9
✔javascriptで解決しました.下記の通りです.
function calculateTotal(amount) {
  amount = amount + (amount*0.095) + (amount*0.15)
  return amount
}
console.log(calculateTotal(20)); // --> 24.9
3. get_prefix
🤔 文字列が与えられた場合、"-"に基づいて前の文字列を返します.
✔隆文字列をsplit関数として処理し、split関数に渡されたパラメータをlistで割って返します.
✔¥は['BTC','KRW']を返すので,関数でインデックスが0の要素を扱うことは容易に解決できる.
def get_prefix(str):
    return str.split('-')[0]
print(get_prefix('BTC-KRW')) # --> BTC
✔jsは以下のように解決します.
function getPrefix(str) {
  return str.split('-')[0]
}
console.log(getPrefix('BTC-KRW')) // --> BTC
4. get_find
🤔 find関数を実装してください.
✔隆文はstrを与えられ、検索するターゲットがcharに渡されたときに見つからない場合は-1を返し、見つかった場合はインデックスの問題を返します.
✔隆str内にcharがなければfor文を検索する必要がないので、それを最優先として確認し、存在する場合のみfor文の操作を実現します.
def get_find(char, str):
    if char not in str:
      return -1
    for i in range(0, len(str)):
      if str[i] == char:
        return i
output = get_find('a', 'I am a hacker')
print(output) # --> 2
✔jsは以下のように解決します.
function getFind(filter, sentence) {
  for(i = 0; i<sentence.length; i++){
    if(sentence[i] === filter){
      return i; 
    }
  }
  return -1; 
}
getFind('a', 'I am a hacker');
const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2
5. find_longest_word
🤔 関数を作成し、指定したリストで最も長い単語を返します.
✔¥for文でも解決できますがsort関数で解いてみます.
✔並べ替え基準を要素の長さに指定し、長さが短い順に並べ替えられているので・𐥊4.
✔¥¥¥¥¥¥
def find_longest_word(words):
    words.sort(key=len, reverse=True)
    return words[0]
print(find_longest_word(["PHP", "Exercises", "Backend"])) # --> "Exercises"
✔jsは以下のように解決します.
function find_longest_word(arr) {
  let longest = arr[0]; 
  for( let i = 0; i < arr.length; i++){
    if(longest.length < arr[i].length){
      return longest = arr[i]; 
    }
  }
}
find_longest_word(["PHP", "Exercises", "Backend"]);