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