繁体   English   中英

Python:打印句子的第三个字母

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM