는 파이썬이 코드를 가지고 :두 가지 기능을 통해 필요한만큼 사전을 편집하는 방법은 무엇입니까?
def additems():
items = {}
add = input("What would you like to add?")
value = input("What value would you like to assign?")
items[add] = value
return items
def resume():
decision = input("would you like to continue?")
if decision == "Y":
main()
else:
print("Exiting...")
def main():
items = additems()
print(items)
resume()
main()
목적은 항상 다시 주에 업데이트 된 사전을 반환하는 동안 원하는만큼 여러 번 "항목"을 편집 할 수 있습니다. 그러나 그 기능은 "additems"함수 내에서 사전을 편집 한 다음 "main"을 실행할 때 재설정됩니다. 메인이 실행될 때 사전을 재설정하지 않으려 고합니다. 항상 업데이트 된 "항목"사전을 인쇄하고 싶습니다. 그래서 대신 :
"무엇을 추가 하시겠습니까?" - G "어떤 값을 지정 하시겠습니까?" - 3 "{ 'G': '3'}" "계속 하시겠습니까?" - Y "무엇을 추가 하시겠습니까?" - J "어떤 가치를 지정 하시겠습니까?" - 4 "{ 'J': '4'} '(인쇄 사전에 가장 최근 추가)
... 코드가 현재 나는 그것을 할 수 있도록하려면, 무엇이다 :
"무엇을 추가 하시겠습니까?" - G "어떤 값을 지정 하시겠습니까?" - 3 "{ 'G': '3'}" "계속 하시겠습니까?" - Y "무엇을 추가 하시겠습니까?" - J "어떤 가치를 지정 하시겠습니까?" - 4 "{ 'G': '3', 'J': '4'} '(두 개의 덧셈이 모두 인쇄됩니다)
... 입력을 제공하는 한이 작업을 수행 할 수 있습니다. Y, 계속할 수 있음을 의미합니다.
아직 짐작하지 않으시면 Stack과 Python을 처음 접해 보았지만 도움을 받으실 수 있습니다. 따라서 내가 도움을 의미 할 때, 나는 파이썬에 익숙하지 않고 프로그래밍에 익숙하지 않은 사람의 경험에 도움이되지 않는다는 것을 의미합니다. 마치 5 살짜리 아기와 얘기하고있는 것처럼 대답하고 모든 문제를 해결하십시오.
대신에'items'를 전역 적으로 (@AChampion은 'blah!'로) 만들고 additems에서 정의와'return'을 제거한 다음 –
을 할당하는 대신'main'에서'additems'를 호출하십시오. 호출 스택을 내려 놓으면 dict을 전달하거나 전역 사전을 만들어야합니다 (피할 수 있으면 권장하지 않으며 피할 수 있습니다). 또는이를 반복적으로 구현하십시오. – AChampion
귀하의 신속한 조언을 위해 @Nick A에 감사드립니다! 사전을 글로벌하게 만들 생각은 없었습니다. 나는 그렇게했습니다. (: D), 이상적으로는 대안이 아닌 어딘가에 저장합니다.따라서 다음 질문은 물론입니다. 어떻게 달성할까요? * 한숨 * 내 부적당 한 마음을 이해할 수있는 방식으로 대답하는 것이 바람직합니다. –