![](/img/trans.png)
[英]How would you use a `for` or `while` loop to find the nth word in a sentence
[英]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.