如何打印单词,但在每行之后都会添加一个字母

时间:2018-08-13 07:12:28

标签: python string python-3.x

我正在尝试编写代码,以打印出用户输入的内容,但在新行中,它会添加其姓名的下一个字母。

Name: Caden
c
ca
cad    
cade
caden 

我现在拥有的代码几乎可以做到这一点,它会在开头加上一行额外的行,并且不会在最后一个字母的后面加上名称,这是我的代码。

name = input("Name: ")
name = name[::-1]
for i in range(len(name)):
  print(name[:i])
print(name)

我在有print(name)的结尾处设置了解决方法,以解决剩下的名称,但是肯定有更好的方法吗?

3 个答案:

答案 0 :(得分:3)

  1. 您当前拥有的代码将打印名称的所有字符,但相反。 删除name = name[::-1]以使其正常打印。

  2. 如果要在for循环中打印名称的所有字符,只需将要循环的范围增加1

  3. 此外,如果希望以小写形式打印(如您的示例所示),则可以使用.lower()设置字符串格式:

name = input("Name: ").lower()
for i in range(len(name)+1):
    print(name[:i])

答案 1 :(得分:1)

有一种简单的方法。

name = input("Name: ")

m = 1

for i in name:
    print(name[:m], sep="\n")
    m +=1

答案 2 :(得分:1)

谢谢Teoman,我忘了提到我想要反向输入,因此我只添加了name = name [::-1]来保持反向。

这是使它对我有用的最终代码。

name = input("Name: ")
name = name[::-1]

m = 1

for i in name:
    print(name[:m], sep="\n")
    m +=1