# #1
# # Your classmates asked you to copy some paperwork for them. You know that there are 'n' classmates and the paperwork has 'm' pages.
# # Your task is to calculate how many blank pages do you need. If n < 0 or m < 0 return 0.
#
def paperwork(n, m):
if n < 0 or m < 0:
return 0
else:
return n * m
#
# #2
# # Clock shows h hours, m minutes and s seconds after midnight.
# # Your task is to write a function which returns the time since midnight in milliseconds.
#
def past(h, m, s):
if h == 0 and m == 0 and s == 0:
return 0
else:
return (h * 3600 + m * 60 + s) * 1000
#3
# Write a function to convert a name into initials. This kata strictly takes two words with one space in between them.
# The output should be two capital letters with a dot separating them.
def abbrevName(name):
first, last = name.upper().split(' ')
return first[0] + '.' + last[0]
#4
# Write a function which converts the input string to uppercase.
def make_upper_case(s):
return s.upper()
#5
# This kata is about multiplying a given number by eight if it is an even number and by nine otherwise.
def simple_multiplication(number) :
if number % 2 == 0:
return number * 8
else:
return number * 9
#6
# Create a function which answers the question "Are you playing banjo?".
# If your name starts with the letter "R" or lower case "r", you are playing banjo!
# The function takes a name as its only argument, and returns one of the following strings:
# name + " plays banjo"
# name + " does not play banjo"
# Names given are always valid strings.
def are_you_playing_banjo(name):
if name[0] == "R" or name[0] == "r":
return f'{name} plays banjo'
else:
return f'{name} does not play banjo'
#7
# Write a function findNeedle() that takes an array full of junk but containing one "needle"
# After your function finds the needle it should return a message (as a string) that says:
# "found the needle at position " plus the index it found the needle, so:
def find_needle(haystack):
return f'found the needle at position {haystack.index("needle")}'
#8
# Given a set of numbers, return the additive inverse of each. Each positive becomes negatives, and the negatives become positives.
def invert(lst):
lst2 = []
for num in lst:
lst2.append(num*-1)
return lst2
#9
# Write a function which calculates the average of the numbers in a given list.
# Note: Empty arrays should return 0.
def find_average(numbers):
if sum(numbers) == 0:
return 0
else:
return sum(numbers) / len(numbers)
#10
# Write a function that takes an array of words and smashes them together into a sentence and returns the sentence.
# You can ignore any need to sanitize words or add punctuation, but you should add spaces between each word.
# Be careful, there shouldn't be a space at the beginning or the end of the sentence!
def smash(words):
return ' '.join(words)
1. ок
2. нужно попробовать записать без if-else. Оно вроде бы тут не нужно.
3. решение хорошее, но как будто где-то подсмотренное) попробуйте переписать первую строку, чтобы не было переменных через запятую. split возвращает массив (список). Попробуйте через этот список.
4. К решению вопросов нет. Я бы порекомендовал попробовать написать эту функцию самостоятельно. Просто для понимания как она работает. Это будет полезно для более сложных задач.
5. ок
6. В целом ок. Но можно убрать “else”, он в такой ситуации уже не нужен. И можно избавиться от “or” – посмотрите как работает оператор “in” и как он может тут помочь
7. С решением тоже всё ок. Но также рекомендовал бы реализовать эту функцию “index()”.
8. ok
9. else можно убрать
10. ок, но если напишете эту функцию самостоятельно, то будет лучше для развития алгоритмического мышления (:
Похожие статьи