Python—如何在不使用库的情况下连续计算列表的索引?
下面我有一个小写字母的列表。我的任务是从列表中获取小写字母的索引并添加移位。班次可以不同,并且不超过1000。也可以是50000或10等。如果索引+移位大于25,则应从“a”开始继续计数,直到达到(索引+移位)并返回字母。我不允许使用图书馆 我的解决方案不适用于像1000个这样的大轮班Python—如何在不使用库的情况下连续计算列表的索引?,python,Python,下面我有一个小写字母的列表。我的任务是从列表中获取小写字母的索引并添加移位。班次可以不同,并且不超过1000。也可以是50000或10等。如果索引+移位大于25,则应从“a”开始继续计数,直到达到(索引+移位)并返回字母。我不允许使用图书馆 我的解决方案不适用于像1000个这样的大轮班 shift=1000 字母表=['a',b',c',d',e',f',g',h',i',j',k',l',m',n',o',p',q',r',s',t',u',v',w',x',y',z'] 索引=字母列表。索引
shift=1000
字母表=['a',b',c',d',e',f',g',h',i',j',k',l',m',n',o',p',q',r',s',t',u',v',w',x',y',z']
索引=字母列表。索引('u')
索引=(索引+移位)-len(字母列表)#必须调整此部分
打印(索引)
打印(字母列表[索引])
结果应该是:“g”
我得到的是:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-20-8d37e597ee25> in <module>
5 index = (index + shift) - len(alphaList)
6 print(index)
----> 7 print(alphaList[index])
IndexError: list index out of range
----------------------------------------------------------------------------
---------------------------------------------------------------------------
索引器回溯(最后一次最近调用)
在里面
5索引=(索引+移位)-len(字母列表)
6打印(索引)
---->7打印(字母列表[索引])
索引器:列表索引超出范围
----------------------------------------------------------------------------
您正在寻找模运算符。从(重点是我的):
运算符%(模)产生第一个参数除以第二个参数的余数。数值参数首先转换为通用类型。零对参数引发ZeroDivisionError异常。参数可以是浮点数,例如,3.14%0.7等于0.34(因为3.14等于4*0.7+0.34)。模运算符总是产生与第二个操作数具有相同符号的结果(或零);结果的绝对值严格小于第二个操作数的绝对值
在此处使用模数运算符:
index = (index+shift) % len(alphaList)
你需要研究模算子。
index = (index+shift) % len(alphaList)