移動print(resultString)
,以便它在循環內。
def printString(s,list):
i=0
resultString=str()
for i in range(len(list)):
resultString= s[list[i]]
i=i+1
print (resultString)
附加但非必要的建議:
你不需要i=0
或i=i+1
,因爲for
環路已經做創建併爲你增加價值的工作。
def printString(s,list):
resultString=str()
for i in range(len(list)):
resultString= s[list[i]]
print (resultString)
你不需要resultString=str()
因爲Python是非常幸福的,沒有任何提示,以創建一個函數中一個新的變量,其類型應該是什麼。
def printString(s,list):
for i in range(len(list)):
resultString= s[list[i]]
print (resultString)
根本不需要resultString
,因爲您只使用一次它的值。
def printString(s,list):
for i in range(len(list)):
print (s[list[i]])
如果您沒有特定的索引需求,最好遍歷列表的元素而不是索引。
def printString(s,list):
for idx in list:
print (s[idx])
儘量不要使用與內置類型名稱相同的變量名稱。
def printString(s,seq):
for idx in seq:
print (s[idx])
你可以改善你的循環本身:而不是'我在範圍內(len(list))'後面跟'list [i]',只需要'for i in list '。不需要創建一個範圍來生成索引然後檢索該項目。循環構造爲你做。 – dsh
關於你的代碼的附加註釋:'i = 0'沒有任何用處,當你在循環中重用'i'時,該值被覆蓋。 'resultString = str()'這行也沒有用,因爲在你使用變量之前,你在循環中重新賦值給'resultString'。最後,'i = i + 1'這個語句也沒有用,因爲'i'被循環結構覆蓋。所以你可以刪除這三行而不改變程序的結果。 – dsh