Python:打印第三句话

时间:2016-02-29 22:51:55

标签: python

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 /或语句更基本的东西。没有什么太复杂的。

3 个答案:

答案 0 :(得分:4)

这是因为您使用的是i,而不是该位置的角色。将该行更改为:

print("Every third letter:", sentence[i])

然而,这不是打印每个第三个字母的最有效方式。你不需要循环;只需使用print(sentence[::3])。这是因为切片是[start:stop:step]。我们将start留空,因此默认为开头。我们将stop留空,因此默认为结束。 step,我们将其定义为3,因此每隔三个字母就会从开头到结尾。

答案 1 :(得分:2)

您可以使用切片打印每三个字母(从第一个字母开始):

print(sentence[::3])

答案 2 :(得分:0)

我认为你不能使用切片并且需要使用自己的代码,如果你想从第三个开始打印每个第三个字符,请开始范围2并保持你的步伐通过循环打印每个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