Python-在字符串上循环

Python-在字符串上循环,python,grok,Python,Grok,如何循环用户可以输入的单词,如下面python中的示例 输入一个单词:python(用户可以输入任何单词) p 派克 派特 皮思 蟒蛇 蟒蛇 (然后循环用户输入的单词)这里有一种方法,使用Python 3(1): 它使用input() 然后,它将i变量从1迭代到字符串长度(包括),每次都在字符串开头打印出那么多字符 一旦您更加熟练地掌握Python的简洁性潜力,您就可以用如下内容替换for循环: print(*[s[:i] for i in range(1,len(s)+1)],sep='\n

如何循环用户可以输入的单词,如下面python中的示例

输入一个单词:python(用户可以输入任何单词)

p

派克

派特

皮思

蟒蛇

蟒蛇


(然后循环用户输入的单词)

这里有一种方法,使用Python 3(1):

它使用
input()

然后,它将
i
变量从
1
迭代到字符串长度(包括),每次都在字符串开头打印出那么多字符


一旦您更加熟练地掌握Python的简洁性潜力,您就可以用如下内容替换
for
循环:

print(*[s[:i] for i in range(1,len(s)+1)],sep='\n')
或:

但您可能会发现可读的解决方案仍然是最好的:-)



(1) 如果由于某种原因而无法使用Python 2,请记住使用
raw_input()
并从
print
行中删除括号。

可能有更好的方法,但这是最简单的:

string = 'python'

for index in range(1, len(string)):
    print(string[:index])

这里还有两种方法

功能性:

#!/usr/bin/env python3

in_word = input("Enter a word: ")

print("\n".join(\
    map(lambda x:in_word[:x], range(1,len(in_word)+1)) \
    ))  
使用递归:

#!/usr/bin/env python3

in_word = input("Enter a word: ")

def print_word_recurse(word):
    if(not word): return
    print_word_recurse(word[:-1])
    print(word)


print_word_recurse(in_word)

你尝试过什么?你在哪里失败了?
#!/usr/bin/env python3

in_word = input("Enter a word: ")

print("\n".join(\
    map(lambda x:in_word[:x], range(1,len(in_word)+1)) \
    ))  
#!/usr/bin/env python3

in_word = input("Enter a word: ")

def print_word_recurse(word):
    if(not word): return
    print_word_recurse(word[:-1])
    print(word)


print_word_recurse(in_word)