Как я могу создать функцию сжатия в Python? - PullRequest
0 голосов
/ 26 апреля 2020

Мне нужно создать функцию с именем StringZip, которая сжимает строку, заменяя повторяющиеся буквы числом повторений. Пример) aaaaabbbbbccccccaaadd ddd -> a5b5c6a3d5

Я хочу изменить этот код на функцию:

 s = 'aaaaabbbbbccccccaaaddddd'
 result = s[0]  
 count  = 0

 for i in s:
     if i == result[-1]:
         count += 1
     else:
         result += str(count) + i
         count = 1
 result += str(count)

 print(result)

Как я могу создать функцию, используя def?

1 Ответ

0 голосов
/ 26 апреля 2020

SYL! Способ, которым вы можете создать функцию с def, выглядит следующим образом:

def myFunctionName(myParam, myOtherParam):
   # your function
   return endResult

Или в вашем случае:

# lower_with_under() is the standard for functions in python
def string_zip(inString):
    s = inString
    result = s[0]  
    count  = 0
    for i in s:
        if i == result[-1]:
            count += 1
        else:
            result += str(count) + i
            count = 1
    result += str(count)
    print(result)

И вы бы назвали его следующим образом:

theResult = myFunctionName(1, 3)

Или в вашем случае:

print(string_zip("aaaaabbbbbccccccaaaddddd"))

Надеюсь, это поможет!
Кстати, в следующий раз вы можете попробовать поискать в Google то, что вам нужно, прежде чем спрашивать об этом в переполнении стека ? Это помогает держать это организованным. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...