您在最後一行引用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