我正在尝试创建代码来收集用户的名字和姓氏(输入顺序是最后一个,然后是第一个)并首先打印出来,最后以层叠方式打印:
last = raw_input('enter your last name:')
first= raw_input('enter your first name:')
print(first[0])
print('\t' + first[1])
print('\t'*2 + first[2])
print('\t'*3+first[3])
print('\t'*4+first[4])
print('\t'*5+first[5])
print('\t'*6+first[6])
print(last[0])
print('\t' + last[1])
print('\t'*2 + last[2])
print('\t'*3+last[3])
print('\t'*4+last[4])
print('\t'*5+last[5])
我非常接近,但我不喜欢我的代码的工作方式。我认为这是一种更简单的方法,而且我也遇到了问题 IndexError:如果我输入的名称长于我输入的打印语句数,则字符串索引超出范围。任何想法?
这是我的代码:
{{1}}
答案 0 :(得分:1)
您可以编写一个通用函数,如下所示,并重用您的字符串。
def cascade_name(name):
for i, c in enumerate(name):
print '\t'*(i+1), c
输出:
>>> cascade_name("foo")
f
o
o
在你的情况下你会这样做:
last = raw_input('enter your last name:')
first= raw_input('enter your first name:')
cascade_name(last)
cascade_name(first)