Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何在循环中使用[::]?_Python - Fatal编程技术网

Python-如何在循环中使用[::]?

Python-如何在循环中使用[::]?,python,Python,所以我现在是一所学习python的学校的学生,我似乎无法解决我的小项目中的一个问题 a=input('Line: ').upper() ab=[] ac=[] while a: ab.append(a) a=input('Line: ').upper() ac=a[0:1] ba=ab[0] ba=ba[0] bb=ab[1] bb=bb[1] bc=ab[2] bc=bc[2] bd=ab[3] bd=bd[3] print(ba + bb + bc + bd) 我试图让程序从每

所以我现在是一所学习python的学校的学生,我似乎无法解决我的小项目中的一个问题

a=input('Line: ').upper()
ab=[]
ac=[]
while a:
 ab.append(a)
 a=input('Line: ').upper()
 ac=a[0:1]

ba=ab[0]
ba=ba[0]
bb=ab[1]
bb=bb[1]
bc=ab[2]
bc=bc[2]
bd=ab[3]
bd=bd[3]


print(ba + bb + bc + bd)
我试图让程序从每一列中选取一个特定的字符。 我当前的代码可以工作,但不能处理超过4列的输入。 我删除了ba、bb、bc、bd函数,并将其替换为:

a=input('Line: ').upper()
ab=[]
ac=[]
ad=[]
ae=[]
while a:
 ab.append(a)
 a=input('Line: ').upper()
 ac=a[0:1]
 ad=ac[0:]
 ae.append(ad)


 print(ae)
但我不知道如何使a[::]从从列表中抓取第一个字符切换到从下一列中抓取第二个字符。 我想要的输出是:

我想要的输出是:

Line: (W)ow!
Line: W(h)o would've thought?
Line: Th(e) answer
Line: Tre(n)dily
Line: Wand(e)rs
Line: The e(v)ening
Line: Past e(e)rie
Line: Road co(r)ners
Line: 
WHENEVER

然后前两个代码是我的尝试。我不知道如何使用slice函数从输入中获取字母。()是我想要的字符串输出

您可以使用
枚举
生成的索引来实现这一点:

from functools import partial
print(''.join(s[i] for i, s in enumerate(iter(partial(input, 'Line: '), ''))).upper())

一种更简单的方法是,定义一个变量索引,然后为第一个输入指定第0个索引,然后为第二个输入指定第一个索引,为第三个输入指定第二个索引,并在每次有新值时相应地增加索引变量

a=input('Line: ').upper()
index = 0
ae = []
while a:
    ae.append(a[index])
    index += 1
    a=input('Line: ').upper()
    print(ae)
n=int(输入('行总数:'))
ans=“”
col=0#列
而col01234显示所需的输入和输出示例。如果我照做的话。您能在<代码>外设置一个计数器,同时跟踪位置吗
count=0
循环中每次都会显示
结果。追加(a[count])
count+=1
之后?虽然技术上正确,但我认为您是为不同的读者编写的。“一个在学校学习python的学生”在数组方面有问题,他不会处理这个问题。对于生产代码,它的复杂性是不可接受的。它更接近代码高尔夫。。。
n = int(input('Total Lines: '))
ans = ''
col = 0 #column 
while col < n:
 a = input('\nLine: ').upper()
 ans += a[col:col+1] #this what you were looking for

 # a[start:stop] start (inclusive) stop (exclusive)
 col+=1 

print('\n'+ans)
'''
hello
01234 <-- col
'''

'''
input:
4
1rooop
c2rdboard
ch3ssboard
bil4board

1234
'''