我是一名對 Python 比較陌生的學生,通過課堂學習。我們收到了一個問題,其中有一個串列作為輸入,我們必須將每個元素轉換為大寫。到目前為止,這是我的代碼:
def strChange(lst):
ch=''
for i in range(len(lst)):
if lst[i]>='a' and lst[i]<='z' :
ch =chr(ord(lst[i])-32)
return ch
caps = eval(input("Enter list: "))
caps2 = []
for i in range(len(caps)):
a = strChange(caps[i])
caps2.append(a)
print(caps2)
它完成了作業......但問題是,它沒有使用遞回!我完全不知道在哪里使用它!我對所有建議持開放態度,但首選外行條款。
編輯:添加示例輸入
輸入:
['rohit', 'mohan', 'anjali', 'ankit', 'akshit']輸出:
['ROHIT', 'MOHAN', 'ANJALI', 'ANKIT', 'AKSHIT']
uj5u.com熱心網友回復:
這很愚蠢,但這是你如何做到的。您處理一個字符,然后為其余字符再次呼叫該函式。
def strChange(lst):
if not lst:
return ''
ch = lst[0]
if 'a' <= ch <= 'z':
ch = chr(ord(ch)-32)
return ch strChange(lst[1:])
caps = eval(input("Enter list: "))
for word in caps:
print(strChange(word))
uj5u.com熱心網友回復:
也許您可以在嵌套串列的情況下使用遞回?如果串列中的專案是串列,你用它呼叫相同的函式?
def strChange(lst):
for index, item in enumerate(lst):
if type(item) is list:
strChange(item)
else:
lst[index] = item.upper()
return lst
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/383337.html
上一篇:從嵌套串列組合物件
