【发布时间】:2012-05-06 08:10:26
【问题描述】:
我正在构建一些代码,它会从字符串的开头和结尾删除任何非数字条目,我对以下代码有一个非常令人困惑的问题:
def String_Trim(Raw_String):
if Raw_String[0].isdigit() == False:
New_String = Raw_String[1:]
String_Trim(New_String)
elif Raw_String[-1].isdigit() == False:
New_String = Raw_String[:-1]
String_Trim(New_String)
else:
print Raw_String
return Raw_String
print(String_Trim('ab19fsd'))
Raw_String 的初始打印工作正常并显示我想要的值 (19),但由于某种原因,尝试打印 String_Trim 的返回值的最后一行返回一个 None。 python到底在做什么,我该如何解决?任何其他有关改进我的代码的 cmet 也将不胜感激。
【问题讨论】:
-
请查看python.org/dev/peps/pep-0008 - 它建议使用不同的命名风格(小写_带下划线),您应该避免使用
== True和´== False´(它们不是必需的,if foo和@ 987654325@ 是检查布尔值真/假的正确方法)
标签: python data-structures return return-type