solyarity
Март 2, 2017 18:46:34
Здравствуйте, возможно, кто-то может помочь мне с написанием довольно сложной функции. У меня какая-то каша в голове, туго получается.
Write a function to_weird that accepts any number of strings, and returns the same strings with all even indexed characters in each word upper cased, and all odd indexed characters in each word lower cased. The indexing just explained is zero based, so the index 0 is even, therefore that character should be upper cased.
The passed in string will only consist of alphabetical characters and spaces(' ‘). Spaces will only be present if there are multiple words. Words will be separated by a single space(’ ').
Examples:
to_weird (“String”) -> returns “StRiNg”
to_weird (“Weird string case”) -> returns “WeIrD StRiNg CaSe”
Rodegast
Март 2, 2017 19:42:22
Ты думаешь тут все такие умные что английский знают?
Romissevd
Март 2, 2017 19:44:11
И где наработки, того что туго получается?
old_monty
Март 2, 2017 20:14:56
solyarityВот, сделал очень наскоро (без применения map, lambda и т.д).
def to_weird(strings):
result = ''
words = strings.split()
new_words = []
for word in words:
new_word = ''
for n,c in enumerate(word):
if n%2 == 0:
new_c = c.upper()
else:
new_c = c.lower()
new_word += new_c
new_words.append(new_word)
result = ' '.join(new_words)
return result
print(to_weird("Weird string case"))
old_monty
Март 3, 2017 05:54:57
py.user.next
Пробелы теряет она
Вот зачем переделываешь условие задачи?
Было же ясно сказано:
solyarity
Words will be separated by a single space(’ ').
Examples:
to_weird (“String”) -> returns “StRiNg”
to_weird (“Weird string case”) -> returns “WeIrD StRiNg CaSe”
А вообще, спасибо. Интересное решение.
py.user.next
Март 3, 2017 06:24:50
old_monty
Вот зачем переделываешь условие задачи?
Да, не заметил я в конце это условие. А пробелы по краям подходят под условие. Но тут не это главное; главное, что обычно нет этого условия про один пробел межу словами, есть понятие “пустое пространство” (whitespace). Тогда слова можно подавать в программу не только в одной строке, но и по одному в строке на нескольких строках, так как конец строки является whitespace.