条件 - 程序必须在字符串中找到并打印第一个找到的单词。字符串可以以空格、逗号或句点开头(单词可以以相同的字符结尾),因此程序必须找到单词的第一个字母开始和最后一个字母结束的位置。(例如,如果字符串是“.,Hello,.world”,则输出“Hello”)
我决定通过迭代 while 循环来实现这一点。第一个 while in order 工作正常并找到单词的开头,第二个由于某种原因给出了错误,尽管我写了一个看似相似的表达式。
错误:
while (text[i]!=' ' or text[i]!="," or text[i]!="."): IndexError:string index out of range
如何修复此错误或如何实现此程序。
def first_word(text: str) -> str:
"""
returns the first word in a given text.
"""
# your code here
i=0
while (text[i]==' 'or text[i]=="," or text[i]=="."):
i += 1
else:
wordstart = i
print(wordstart)
while (text[i]!=' ' or text[i]!="," or text[i]!="."):
i += 1
else:
wordfinish = i
print(wordfinish)
print(text[wordstart:wordfinish])
first_word(" . Hello,, world")