您在最后一行引用s
:
contains(s, sub)
这是之外的功能,而你没有定义一个全局s
。 s
只存在的本地名称的功能。这同样适用于sub
。
移到列表的定义和sub
至该节:
def contains(s, sub):
if sub in s:
print sub, "is a substring of s."
return True
if __name__ == '__main__':
s = ["apples", "bananas", "oranges", "watermelon", "apricots"]
sub = raw_input("Please enter a substring of s: ")
contains(s, sub)
你可以过使用不同的名称和离开打印功能之外:
def contains(s, sub):
return sub in s
if __name__ == '__main__':
fruits = ["apples", "bananas", "oranges", "watermelon", "apricots"]
substring = raw_input("Please enter a substring of fruits: ")
if contains(fruits, substring):
print substring, "is a substring of fruits."
和功能仍然会作为本地名称使用s
和sub
。
我真的很喜欢那些问题。他们是免费的幸运点。男人,你应该问我之前先邮寄给我,我会很乐意回答。 – MadeOfAir