2016-09-28 60 views
-5

任何人都可以幫忙嗎?我需要得到這個工作,但它不會,我已經適當地犯了一個簡單的錯誤,但我無法發現它。 (忽略拼寫錯誤)國家陣列任務

countries = ["Spain","England","Scotland","USA","Wales","Ireland","France", 
      "Greece","China","Japan"] 

print("1. Add a new country") 
print("2. Delete a country") 
print("3. Sort the countries") 
choice = int(input("Select the option you require")) 
if choice == 1: 
    newcount = input("Enter a country to be added to the list:") 
    countries.append(newcount) 
    print("Your countires are now:",countries) 

if choice == 2: 
    deletec = input("Enter a country to be deleted:") 
    countries.pop(deletec) 
    print("Your countires are now",countries) 

if choice == 3: 
    countries.sort 
    print("Your countries are now",countries) 
+0

你缺少'countries.sort'括號,和你的'pop'調用不正確。 –

+3

請在提問時更具體。不要說明,該代碼不起作用,請寫下它的工作原理。這段代碼應該做什麼?它做什麼呢?什麼是錯誤信息? –

回答

1

pop不像你認爲的那樣工作。改爲使用remove

你忘了括號上countries.sort()

+0

'countries.sort()'在Python 2.7中什麼都不做。在3.x中是否有兩個人評論過相同的內容?其實,'out = countries.sort()'和'print out'打印'None' – roganjosh

+0

返回'None'並且什麼也不做都不是一回事。 'countries.sort()'更改'國家',以便對它進行排序。 –

+0

我會接受我最初的陳述是不正確的。但是在這個問題中使用'countries'列表並使用'.sort()'將返回'None'。它通常是'sorted(countries)' – roganjosh