2013-11-14 5 views
1

목록에서 항목을 인쇄 할 때 문제가 있습니다.목록에 추가하는 입력이 있습니다. 마지막 목록 항목 (마지막 입력)을 어떻게 인쇄합니까?

countryList = [] 

cityList = [] 

def startFunction(): 
    while True: 
     print("\nWhen you have typed in country and city, press 3 in the menu to see the weather forecast for your choice.\n") 
     menu = input("\nPress 1 for country\nPress 2 for city\nPress 3 to see forecast\nPress 4 to exit\n") 
     if menu == "1": 
      countryFunction() 
     elif menu == "2": 
      cityFunction() 
     elif menu == "3": 
      forecastFunction() 
     else: 
      print ("\nGoodbye") 
      break 

내가 먼저 다른 함수를 호출하는 루프 국가 및 도시와 다음 startfunction에 대해 빈 목록을 가지고 :

다음은 관련 코드입니다.

여기에 국가를 선택하는 기능과 같은 방법에있어 : ​​

def countryFunction(): 
    countryc = input("Enter which country your city is in(in english): ") 
    countryList.append(countryc) 

그리고 인쇄 기능은 다음과 같습니다 : 당신은 그냥했습니다 순간에 볼 수있는

def forecastFunction(): 
    r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/forecast/q/" + countryList[0] + "/" + cityList[0] + ".json") 
    data = r.json() 
    #Above is the problem, countryList[0] and cityList[0] 

countryList[0]이라고 입력하면 목록의 첫 번째 항목 만 인쇄됩니다. 그리고 내가 사용하고있는 루프 때문에 사용자는 매번 목록에 추가 할 국가와 도시를 반복해서 선택할 수 있습니다. 내 질문은 : 나는
r = requests.get("http://api.wunderground.com/api/0def10027afaebb7/forecast/q/" + countryList[0] + "/" + cityList[0] + ".json"

이 가
+0

[목록의 마지막 요소를 얻는 방법] 가능한 복제본 (영문) (http://stackoverflow.com/questions/930397/how-to-get-the-last-element-of-a-list) – darthbith

답변

3

목록에 인덱스로 사용 -1, 즉 countryList[-1] 당신에게 마지막을 줄 것이다 코드의 마지막 목록 항목 (목록에 추가 된 마지막 항목)를 인쇄하려면 어떻게 목록의 항목. 튜토리얼 문자열의 인덱싱과 같은 예를 보여줍니다 있지만

,이 목록에 대한 동일하게 작동 : http://docs.python.org/2/tutorial/introduction.html#strings 코멘트에 대한

+0

다행 당신을 위해 일했다! 이것이 가장 좋은 답변이라고 생각한다면 [허용으로 표시하십시오] (http://stackoverflow.com/help/accepted-answer)를 부탁해주십시오. 감사! – darthbith

2

너무 긴 : 다른 답변이 지적한대로

, 당신은 단지 필요 countryList[-1]처럼 -1 색인 기능을 사용하십시오.

그러나 사용자로부터 반복 된 항목을 저장하는 것을 피하기 위해 정렬 된 세트와 같은 데이터 구조를 사용하려는 것처럼 보입니다. 이 경우 OrderedDict을 사용하는 것이 더 나을 것입니다.

OrderedSet 레시피를 살펴 보시기 바랍니다.

+1

불행하게도 나는 명령서 나 주문서를 전혀 사용하지 않았지만 그것을 살펴보고 이해할 수 있는지 알아볼 것입니다. 감사합니다! – Bondenn