誰能向我解釋為什么這段代碼有效:
data = "8 (including George Blake, aged 69, and Robert Reynolds, aged 12)"
chars = "()[]? "
for ch in chars:
if ch in data:
data = data.replace(ch,"")
print(data)
但是當我嘗試創建一個函式來對這段代碼做同樣的事情時,我得到的輸出是無:
def clean(data):
chars = "()[]? "
for ch in chars:
if ch in data:
data = data.replace(ch," ")
bob = "8 (including George Blake, aged 69, and Robert Reynolds, aged 12)"
print(bob)
output = clean(bob)
print(output)
uj5u.com熱心網友回復:
當您將資料作為引數傳遞給函式并宣告時data = data.replace(ch, ""),您正在修改引數,而不是傳遞給函式的原始資料。您應該嘗試return data在函式的末尾,然后將其值分配給輸出,例如:
def clean(data):
chars = "()[]? "
for ch in chars:
if ch in data:
data = data.replace(ch," ")
return data
bob = "8 (including George Blake, aged 69, and Robert Reynolds, aged 12)"
print(bob)
output = clean(bob)
print(output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/365098.html
上一篇:是否可以在不丟失ocaml中引數的多型型別的情況下設定函式的默認值
下一篇:Python,算術序列的函式
