4 回答

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

TA貢獻2041條經驗 獲得超4個贊
嘗試這個:
解決方案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貢獻1900條經驗 獲得超5個贊
如果您正在尋找單襯,您可以使用這個:
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貢獻1829條經驗 獲得超4個贊
嘗試這個:
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%'))
添加回答
舉報