问题:
您和您的朋友创建了一个密码!
密码隐藏在许多行中。这是 第一行,加上第二行的第二个字母,依此类推,例如 这个:
基本上这是个秘密他们不会找到吗?谁在找?不! 没关系。 B + o + o +! BOO!
您的程序应像这样工作:
Line: Basically it's a secret
Line: Won't they find it?
Line: Who would be looking?
Line: Nah! It's fine.
Line:
BOO!
您的程序应读取多行输入,以获取正确的 每行的一封信。然后它应该加入每个字母并打印在 大写字母。
到目前为止,我已经获得了输入的代码,将每行添加到列表中,然后当用户输入空格时停止。但是我不确定如何获得它,因此打印出第一行的第一个字母,打印出第二行的第二个字母,打印出第三行的第三个字母,等等。
listo = []
line = input("Line: ")
while line:
listo.append(line)
line = input("Line: ")
print(test)
for i in listo:
print(i[0+1])
答案 0 :(得分:4)
这可能有效:
lines = [ '123', 'abc', 'def' ]
print ''.join( b[a] for a,b in enumerate(lines) ).upper()
打印:
1BF
答案 1 :(得分:0)
您可以通过迭代enumerate
生成的索引来实现此目的:
from functools import partial
print(''.join(s[i] for i, s in enumerate(iter(partial(input, 'Line: '), ''))).upper())
答案 2 :(得分:0)
要从第一行中获取第一个字母,并从其他行中获取+1,您将需要在循环过程中跟踪当前索引。在某些情况下,您必须考虑输入行的长度不足以获取第i个字符的地方。
listo = []
line = input("Line: ")
while line:
listo.append(line)
line = input("Line: ")
# Loop from index = 0 to len(listo)
for index in range(0, len(listo)):
cur_line = listo[index]
# If current index is less then length of the line
if index < len(cur_line):
print(cur_line[index]) # Print out the ith character from the line