簡體   English   中英

當你到達句子中的某個字母時如何打破while循環

[英]How to break a while loop when you reach a certain letter in a sentence

我正在編寫這段代碼,我打算在代碼到達字母“d”時中斷 while 循環,但它不起作用。 我做錯了什么? 此外,在代碼的末尾,我的意思是 o 顯示了其余的短語,但這也不起作用。

word_input = 'How hard is this?'
stop_at_letter = 'd'
i = 0

print('While loop a')
while i < len(word_input):
    print(word_input[i])
    i = i + 1
    if i == stop_at_letter:
        break
else:
    print('Remaining letters are:' + str(word_input))

代替:

if i == stop_at_letter:

做:

if word_input[i] == stop_at_letter

注意:提問時將代碼直接放在其正文中,不要隨附圖片。

您目前在代碼中所做的是將變量“i”(我假設您將其用作計數器)與要停止的字符進行比較。

所以你基本上是將 0 與 'd'、1 與 'd' 進行比較...等

而不是這樣做,你想使用索引來獲取字符串中的正確字符(所以word_input[i] )並將其與 stop_at_letter 進行比較。

此外,為了獲得單詞的其余部分,您可以使用slicing ,它基本上應該類似於word_input[i:len(word_input)]

將您的代碼復制粘貼到您的帖子中而不是發布圖片總是一個好主意,因此我們可以更輕松地重現您的問題。


word_input = 'How hard is this?!'

stop_letter = 'd'

result = []

for i in word_input:
    result.append(i)
    finalResult = ''.join(result)
    
    if i == stop_letter:
        break
    
print(finalResult)

輸出:

How hard

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM