我有一个像这样开始的函数:
def solve_eq(string1):
string1.strip(' ')
return string1
Run Code Online (Sandbox Code Playgroud)
我正在输入字符串'1 + 2*3**4',但return语句根本没有剥离空格,我无法弄清楚原因.我甚至尝试过.replace()没有运气.
Eug*_*ene 12
Strip不会删除任何地方的空白,只会在开头和结尾删除.试试这个:
def solve_eq(string1):
return string1.replace(' ','')
Run Code Online (Sandbox Code Playgroud)
strip()在这种情况下使用是多余的(显然,感谢评论员!).
在我休息之前,Ps Bonus有用的片段(感谢OP!):
import re
a_string = re.sub(' +', ' ', a_string).strip()
Run Code Online (Sandbox Code Playgroud)
由于字符串是不可变的,因此Strip不会更改原始字符串。您应该为剥离后的字符串设置返回值,或者仅返回剥离后的字符串。
选项1
def solve_eq(string1):
string1 = string1.replace(' ', '')
return string1
Run Code Online (Sandbox Code Playgroud)
选项2
def solve_eq(string1):
return string1.replace(' ', '')
Run Code Online (Sandbox Code Playgroud)
编辑:代替string1.strip(' '),使用string1.replace(' ', '')
| 归档时间: |
|
| 查看次数: |
19657 次 |
| 最近记录: |