我正在尝试编写代码,以打印出用户输入的内容,但在新行中,它会添加其姓名的下一个字母。
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)的结尾处设置了解决方法,以解决剩下的名称,但是肯定有更好的方法吗?
答案 0 :(得分:3)
您当前拥有的代码将打印名称的所有字符,但相反。
删除name = name[::-1]
以使其正常打印。
如果要在for循环中打印名称的所有字符,只需将要循环的范围增加1
此外,如果希望以小写形式打印(如您的示例所示),则可以使用.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