下面我有一個(gè)小寫字母列表。我的任務(wù)是從列表中獲取小寫字母的索引并添加移位。移位可以變化并且不是 1000。也可以是 50000 或 10 等。如果索引 + 移位大于 25,則應(yīng)繼續(xù)從“a”開始計(jì)數(shù),直到達(dá)到 (索引 + 移位) 并返回字母。我不被允許使用圖書館。我的解決方案不適用于 1000 這樣的大班次shift = 1000alphaList = ['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']index = alphaList.index('u')index = (index + shift) - len(alphaList) # this part has to be adjusted print(index)print(alphaList[index])結(jié)果應(yīng)該是:“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----------------------------------------------------------------------------
2 回答

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
您正在尋找模運(yùn)算符。從文檔(重點(diǎn)是我的):
%(模)運(yùn)算符產(chǎn)生第一個(gè)參數(shù)除以第二個(gè)參數(shù)的余數(shù)。數(shù)字參數(shù)首先被轉(zhuǎn)換為通用類型。右參數(shù)為零會引發(fā) ZeroDivisionError 異常。參數(shù)可以是浮點(diǎn)數(shù),例如,3.14%0.7 等于 0.34(因?yàn)?3.14 等于 4*0.7 + 0.34。)模運(yùn)算符始終產(chǎn)生與其第二個(gè)操作數(shù)具有相同符號(或零)的結(jié)果;結(jié)果的絕對值嚴(yán)格小于第二個(gè)操作數(shù)的絕對值
index?=?(index?+?shift)?%?len(alphaList)
添加回答
舉報(bào)
0/150
提交
取消