4 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
您正在將字符串分配'%'給變量,但您想要除該字符之外的所有內(nèi)容。將函數(shù)的開(kāi)頭更改為:
def format_change(string):
if string[-1] == "%":
string = string[:-1] # added ':'

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
嘗試這個(gè):
解決方案1:
def format_change(string):
if string.endswith("%"):
string = string[0:-1]
str_as_float = float(string)
if str_as_float > 0:
str_as_float = str_as_float * 100
return str_as_float
print(format_change('-0.45%'))
解決方案2:
def format_change(string):
if string.endswith('%'):
return abs(float(string[0:-1]))*100
print(format_change('-0.45%'))
解決方案3:
def format_change(string):
return abs(float(string.split('%')[0]))*100
print(format_change('-0.45%')
輸出:
45.0

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果您正在尋找單襯,您可以使用這個(gè):
def format_change(string):
return float(string.replace('%',''))*100 if float(string.replace('%',''))>0 else float(string.replace('%',''))
format_change("-50%")
# -50.0
format_change("50%")
# 5000.0

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
嘗試這個(gè):
def format_change(string):
if string[-1] == "%":
string = string[:-1]
str_as_float = float(string)
if str_as_float > 0:
str_as_float = str_as_float * 100
return str_as_float
print(format_change('0.45%'))
添加回答
舉報(bào)