Python 如何停止我的循环
Python How to Stop my Loop
我在 python 中制作了一个程序,基本上从句子中获取每个单词并将它们放入回文检查器中。我有一个函数可以删除句子中的任何标点符号,一个函数可以找到句子中的第一个单词,一个函数可以在句子的第一个单词之后获取其余单词,还有一个函数可以检查回文。
#sent = input("Please enter a sentence: ")#sent is a variable that allows the user to input anything(preferably a sentence) ignore this
def punc(sent):
sent2 = sent.upper()#sets all of the letters to uppercase
sent3=""#sets sent3 as a variable
for i in range(0,len(sent2)):
if ord(sent2[i])==32 :
sent3=sent3+sent2[i]
elif ord(sent2[i])>64 and ord(sent2[i])<91:
sent3=sent3+sent2[i]
else:
continue
return(sent3)
def words(sent):
#sent=(punc(sent))
location=sent.find(" ")
if location==-1:
location=len(sent)
return(sent[0:location])
def wordstrip(sent):
#sent=(punc(sent))
location=sent.find(" ")
return(sent[location+1:len(sent)])
def palindrome(sent):
#sent=(words(sent))
word = sent[::-1]
if sent==word:
return True
else:
return False
stringIn="Frank is great!!!!"
stringIn=punc(stringIn)
while True:
firstWord=words(stringIn)
restWords=wordstrip(stringIn)
print(palindrome(firstWord))
stringIn=restWords
print(restWords)
现在我正在尝试使用字符串 "Frank is great!!!!" 但我的问题是我不确定如何停止程序循环。该程序不断获取字符串的 "GREAT" 部分并将其放入回文检查器中,依此类推。我如何让它停止以便它只检查一次?
你可以这样停下来
while True:
firstWord=words(stringIn)
restWords=wordstrip(stringIn)
#if the word to processed is the same as the input word then break
if(restWords==stringIn) : break
print(palindrome(firstWord))
stringIn=restWords
print(restWords)
我在 python 中制作了一个程序,基本上从句子中获取每个单词并将它们放入回文检查器中。我有一个函数可以删除句子中的任何标点符号,一个函数可以找到句子中的第一个单词,一个函数可以在句子的第一个单词之后获取其余单词,还有一个函数可以检查回文。
#sent = input("Please enter a sentence: ")#sent is a variable that allows the user to input anything(preferably a sentence) ignore this
def punc(sent):
sent2 = sent.upper()#sets all of the letters to uppercase
sent3=""#sets sent3 as a variable
for i in range(0,len(sent2)):
if ord(sent2[i])==32 :
sent3=sent3+sent2[i]
elif ord(sent2[i])>64 and ord(sent2[i])<91:
sent3=sent3+sent2[i]
else:
continue
return(sent3)
def words(sent):
#sent=(punc(sent))
location=sent.find(" ")
if location==-1:
location=len(sent)
return(sent[0:location])
def wordstrip(sent):
#sent=(punc(sent))
location=sent.find(" ")
return(sent[location+1:len(sent)])
def palindrome(sent):
#sent=(words(sent))
word = sent[::-1]
if sent==word:
return True
else:
return False
stringIn="Frank is great!!!!"
stringIn=punc(stringIn)
while True:
firstWord=words(stringIn)
restWords=wordstrip(stringIn)
print(palindrome(firstWord))
stringIn=restWords
print(restWords)
现在我正在尝试使用字符串 "Frank is great!!!!" 但我的问题是我不确定如何停止程序循环。该程序不断获取字符串的 "GREAT" 部分并将其放入回文检查器中,依此类推。我如何让它停止以便它只检查一次?
你可以这样停下来
while True:
firstWord=words(stringIn)
restWords=wordstrip(stringIn)
#if the word to processed is the same as the input word then break
if(restWords==stringIn) : break
print(palindrome(firstWord))
stringIn=restWords
print(restWords)