Python-如何在循环中使用[::]?
所以我现在是一所学习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) 我试图让程序从每
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#列
而col 01234显示所需的输入和输出示例。如果我照做的话。您能在<代码>外设置一个计数器,同时跟踪位置吗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
'''