Python - 循环一个字符串

时间:2015-08-17 03:21:37

标签: python grok

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

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

P

吡啶

PYT

pyth

pytho

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

3 个答案:

答案 0 :(得分:1)

可能有更好的方法可以做到这一点,但这是最简单的方法:

string = 'python'

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

答案 1 :(得分:1)

以下是另外两种方法!

功能:

#!/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)

答案 2 :(得分:0)

这是一种方法,使用Python 3 (1)

>>> s = input('Enter string: ')
Enter string: python

>>> for i in range(1,len(s)+1):
...     print(s[:i])
...
p
py
pyt
pyth
pytho
python

它使用input()来提示并获取用户的字符串。

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

一旦你越来越擅长Python的简洁性,你可以用以下内容替换for循环:

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

或:

print("\n".join([s[:i] for i in range(1,len(s)+1)]))

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

(1)如果您出于某种原因陷入Python 2,请记住使用raw_input()并从print行中删除括号。