[英]Python: Printing Third Letter of Sentence
def main ():
sentence=input("Please enter a sentence:")
print("Original Sentence:",sentence)
sentencelenght=len(sentence)
for i in range(0, sentencelenght, 3):
print("Every third letter:", i)
main()
我在這一點上,我的輸出是一堆數字,請解釋如何解決此問題。
請注意,我們已經為while循環學習了if / or語句,這是更基本的內容。 沒什么復雜的。
這是因為您使用的是i
,而不是該位置的字符。 將該行更改為此:
print("Every third letter:", sentence[i])
但是,這不是打印每三個字母的最有效方法。 您不需要循環; 只需使用print(sentence[::3])
。 之所以可行,是因為切片是[start:stop:step]
。 我們將start
保留為空,因此默認為開始。 我們將stop
保留為空,因此默認為末尾。 step
,我們將其定義為3
,因此它從頭到尾使用第三個字母。
您可以使用切片來打印每第三個字母(從第一個字母開始):
print(sentence[::3])
我假設您不能使用切片,而需要使用自己的代碼,如果您要從第三個字符開始打印每第三個字符,請將范圍從2
開始,並保持3步通過循環打印每個sentence[i]
:
def main ():
sentence = input("Please enter a sentence:")
print("Original Sentence:",sentence)
# start at the third character
for i in range(2, len(sentence), 3):
# access the string by index
print("Every third letter:", sentence[i])
輸出:
In [2]: main()
Please enter a sentence:001002003
Original Sentence: 001002003
Every third letter: 1
Every third letter: 2
Every third letter: 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.