我不知道这叫什么问题,在网站上找不到与此相关的内容。我试着做一个函数,在第一行打印出单词的第一个字母,然后打印出接下来的两个字母,依此类推。但是,我不知道如何防止重复完整的单词。例如在“bar”这个词中,它应该是
b
ba
bar
ba
b
但我的函数重复了两次。谢谢
a= []
def letters():
x = input("Enter a string")
count = 0
for c in x:
count +=1
y = 0
while y <= count:
z = (x[:y])
a.append(z)
y += 1
negWords = a[::-1]
for words in a:
print (words)
for words in negWords:
print (words)
试试这个:
这将不包括第二次完整的单词
此外,您的代码可能需要大量清理。例如:
比你拥有的更有意义
你似乎在做一些不必要的工作,只是想打印一些东西。您可以使用
len
来获得单词的长度,而不必通过循环来获得大小而且,收集列表中的数据似乎没有必要
为了坚持while循环方法的本质,您可以遍历单词的整个长度,然后再次返回直到“0”。所以,对我来说,我认为这是单词长度的两倍。考虑到这一点,这将是我对while循环的控制。然后,我只需检查我的递增器何时达到单词的长度,然后从那里开始向后:
输出:
相关问题 更多 >
编程相关推荐