2015-09-30 102 views
-1

所以我試圖創建前10個州的州名縮寫列表。足夠簡單(以免給這個列表指定狀態1)。然後,我想使用切片創建第二個列表,其中僅輸出中間4個狀態......仍然夠用(我們將稱這個列表爲states2)。好吧,所以我得到的部分是我在這裏..我想使用一個函數(讓我們只命名它list_func)與states2是唯一的參數。在這個參數中,我想刪除列表中的第二個狀態,將TX作爲索引2插入,向用戶請求一個隨機的新狀態並將其附加到列表中,然後反轉列表。在這裏,我想出迄今..我想我有大部分正確的,但我不知道在微調...Python 3.3 - 列表

def main(): 

    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL'] 
    print(states1) 
    states2 = states1[3:7] 
    print(states2) 

    for list_func in states2: 
     states2.remove('CA') 
     states2.insert(1,'TX') 
     user_st = input('Enter a new state: ') 
     states2.append(user_st) 
     states2.reverse() 

    print(states2) 


main() 
+5

對於這個問題,'list_func'似乎甚至不是一個函數,在我們甚至提到沒有人調用它之前。 – ShadowRanger

+1

應該打印'states2'而不是你的迭代器,'list_func' ......並且我沒有看到'states'的'for'循環需要。 –

+0

對於具體問題,您應該考慮更好的標題。 –

回答

0

鑑於問題的制約,像這樣的工作:

def main(): 
    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL'] 
    print(states1) 
    states2 = states1[3:7] 
    print(states2) 

    list_func(states2) 


def list_func(states): 
    states.remove('CA') 
    states.insert(1,'TX') 
    user_st = input('Enter a new state: ') 
    states.append(user_st) 
    states.reverse() 

    print(states) 

main() 

list_func現在是一個函數,唯一的輸入是states2列表。當這個函數被調用時,它會執行你列出的東西。沒有使用彈出(),因爲你提到你還沒有覆蓋它

+0

哦,我看到了......所以我們需要調用main中的list_func使其工作。但我也需要定義它,使其工作...真棒! TY! –

-1

應打印states2不是你的迭代器,list_func。 ..我看不到任何需要for循環超過states2

states2.pop(states2.index('CA')) 

爲了您的家庭作業:

def main(): 

    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL'] 
    print(states1) 
    states2 = states1[3:7] 
    print(states2) 

    states2.remove('CA') 
    states2.insert(1,'TX') 
    user_st = input('Enter a new state: ') 
    states2.append(user_st) 
    states2.reverse() 

    print(states2) 

使用pop方法,而不是remove這可能喜歡做考慮

states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL'] 
print(states1) 
states2 = states1[3:7] 
print(states2) 

# call your function: 
list_func(states2) 
print(states2) 



def list_func(lst): 
    lst.pop(lst.index('CA') 
    lst.insert(1,'TX') 
    user_st = input('Enter a new state: ') 
    lst.append(user_st) 
    lst.reverse 
+0

謝謝。我起初嘗試過,但由於某些原因,我的看法不正確,因爲我的指令說「以states2作爲唯一參數執行一個名爲list_func的函數」 –

+0

乾杯,有時您只需要另一組眼睛就可以看到問題。無論如何,你可能要考慮'pop'而不是'remove'。 –

+0

所以我被告知..但我們還沒有到那本書的那一部分,我還是不確定這些指令是什麼意思,當它說:「執行一個函數名爲list_func與states2作爲唯一參數「 –