我正在嘗試撰寫一個使用字串作為輸入(一個句子或單詞)的程式。使用 for 回圈,我依次遍歷每個字符。當我遇到字母 p 時,程式應該跳過幾次迭代。我發現了很多關于在處理整數時跳過迭代的技巧。但是,在我的代碼中,我正在處理字串。有沒有人對此有任何有用的提示?提前致謝!
這是我的一段代碼(到目前為止我所擁有的):
language_input = input()
for character in language_input:
if character == "p":
# Now, I have to skip a few iterations (e.g. skip 3 characters)
uj5u.com熱心網友回復:
你可以使用一個額外的變數,如果它被設定了,什么都不做
language_input = input()
check = 0
for character in language_input:
if check:
check -= 1
continue
if character == "p":
check = 3 #set to number of iterations you want to skip
uj5u.com熱心網友回復:
這更取決于您需要對字串中的字符做什么。這是一個想法:
language_input = input()
i = 0
while i < len(language_input):
if language_input[i] == 'p':
i = 3
else:
i = 1
# do something else
uj5u.com熱心網友回復:
您可以使用迭代器:
language_input = 'abcdefghij'
s = iter(language_input)
while True:
try:
character = next(s)
if character == 'd':
print('…', end='')
next(s)
next(s)
next(s)
print(character, end='')
except StopIteration:
break
輸出: abc…dhij
為了更有效地跳過許多專案,您可以使用itertools.islice:
from itertools import islice
# … only showing changed part of code
if character == 'd':
print('…', end='')
list(islice(s, 3)) # get 3 elements at once
# …
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336418.html
上一篇:For回圈表內容中的洗掉按鈕
