我的問題是,我不知道現在要去的代碼,我必須創建一個解壓縮代碼。我得到了錯誤(TypeError:不能通過'str'類型的非int類來乘以序列),並假設它是因爲我沒有正確地乘以字符串。另外,我無法使用名單,只是字符串操作這種分配解壓縮壓縮字符串
只是作爲一個例子,假設輸出的看起來像這個 - > cat2dog1qwerty3 - > catcatdogqwertyqwertyqwerty
功能:
def decompress(compressed_in):
new_word = True
char_holder = ""
decompressed_out = ""
for char in compressed_in:
if char.isalpha and new_word:
char_holder += char
new_word = False
elif char.isalnum:
decompressed_out += char * char_holder
new_word = True
return decompressed_out
主營:
# Import
from compress import decompress
# Inputs
compressed_in = str(input("Enter a compressed string: ")) # compressed
# Outputs
decompressed_out = decompress(compressed_in)
print(decompressed_out)
嗯,我修正了一些事情,並得到一個空白的答案,而不是錯誤。我也完全刪除了new_word,因爲我不認爲我需要它。我只剩下http://imgur.com/a/FuJ5h – okai
你還沒有真正調用'isalpha()'。通過在它之後不包括括號,你基本上只是問Python是否存在,這總是正確的。所以你的'elif'分支永遠不會發生。另外,「int(char)」這個語句本身沒有任何作用。你必須將結果分配給某個變量。 – user3030010
你的權利,我解決了這兩個錯誤,並得到了代碼工作。感謝您的幫助。只是想知道,我將如何編輯代碼,使其與2位數字一樣工作,或者更像cat22dog14 – okai