0
我有一個函數發送通知,並且我總是在這個sendNotification函數中得到一個錯誤,當我不開始寫正確的主題名稱。錯誤,當我不寫正確的第一個話題名稱
主題名稱應該只有一個單詞,在這種情況下,它顯示消息「有效主題名稱」。
如果主題名稱爲空或具有多個單詞,它將顯示消息「主題必須只有一個單詞」,並且我再次使用validTopic()再次請求用戶編寫主題名稱,直到他正確寫入。
這工作正常,我只是總是得到一個問題,只有當我不寫正確的主題名稱。
我認爲它是因爲當我不開始正確寫入時,我的sendNotification函數中的主題名稱正在接收無效的主題名稱。
但我不明白爲什麼,因爲當主題名稱是無效的我再次validTopic()函數...
def sendNotification(topicname):
# here I have the error when I dont write the topic name correctly at first
createTopic = create_topic(topicname)
def validTopic():
topic = raw_input("Topic:")
words_topic = topic.split()
number_words_topic = len(words_topic)
if number_words_topic == 1:
print "Valid Topic Name"
else:
print "Topic must have just one word"
validTopic()
return topic
def create():
topic = validTopic()
sendNotification(topic)
create()
缺少'return'before到'validTopic'內通話?無論如何,在Python中,通常不是使用遞歸來代替循環的好主意(例如使用「while」循環)。 –
我看到一個'validTopic()'和一個'validTopicName()'函數。這是一個錯字嗎?如果'validTopic()'是另一個函數,它有什麼作用? – gus27
感謝您的回答。這是一個錯字。它的功能相同,我現在正確更新了。 – osc