Python 初级课程:如果单词重复则结束句子

问题描述 投票:0回答:1

更改程序,以便在用户连续两次输入同一个单词时循环也结束。

Sample output
Please type in a word: It
Please type in a word: was
Please type in a word: a
Please type in a word: dark
Please type in a word: and
Please type in a word: stormy
Please type in a word: night
Please type in a word: night
It was a dark and stormy night

所以这个问题有两个部分。我能够弄清楚的第一部分。第二部分,没那么多。我添加了一个变量来存储输入的单词,但当“word == stop”时我无法让它退出循环

words = ""
stop = ""
while True: 
    word = input("Please type in a word")
    if word == "end":
        break
    if stop == word:
        break
    words += f"{word} "
print(words)

所以输入:你好,我的,名字,是,结束:

我得到输出你好,我的名字是

这是预期的并且满足问题1。问题2希望我在某个单词重复时结束它。以上是我的尝试,似乎不起作用。请不要使用数组或列表,我知道可以使用它们来完成此操作,但由于这是初学者课程,而且我们还没有了解这些,所以我将使用上述方法来解决。

python
1个回答
0
投票

您可以采取以下步骤:

  • 创建一个变量
    last_word
    来记住之前的输入。
  • 在循环内,如果用户键入“end”或重复最后一个单词,则中断。
  • 将当前单词附加到
    words
    并将
    last_word
    设置为当前单词。
  • 打印累积的单词,不带多余空格。

代码应该是:

words = ""
last_word = ""

while True:
    word = input("Please type in a word: ")
    
    if word == "end" or word == last_word:
        break
    
    words += f"{word} "
    last_word = word

print(words.strip())
© www.soinside.com 2019 - 2024. All rights reserved.