2017-04-18 3 views
-1

내 목록이 선택 항목 뒤에 추가됩니다. 기본적으로, 나는 질문을하고, 당신이 입력 한 것은이 목록에 들어가는 것이다.Python : 목록의 특정 입력이 아닌 항목 검색

나는 또한 당신이 무엇을 입력했는지 묻습니다. 이것은 중복을 만들었 기 때문에 입력 한 금액이 1보다 큰 경우 연결을 사용하여 증분 값을 추가했습니다. (예를 들어,

는 "당신은 무엇을 목록에 추가 하시겠습니까?" 사용자 : "개" "얼마나?" 사용자 : "3"

목록 = 개, dog2, dog3을, 고양이)

내 특정 프로그램의 경우 사용자가 입력 할 수있는 것을 알 수 없으므로 if ____ in _____을 사용할 수 있습니까? 또한, 이제 나는이 'dog'라는 문자열과 숫자를 연결했습니다. 나는 목록에서 개를 탐지하는 코드를 원하지만, 다시는 개가 목록에 있는지조차 모른다. 그것은 무엇이든 수 있습니다!

+0

코드를 정확히 수행하기를 원하십니까/지금 당면하는 문제는 무엇입니까? 코드에 입력 된 각 용어의 수를 알고 싶습니까? (예를 들어, '개'가 '3'과 일치한다는 것을 코드에 알려주고 싶습니까?) – Windmill

+1

그래서 뭔가를 탐지하고 싶지만 감지하고 싶지 않은 것이 무엇인지 잘 모릅니 까? – ForceBru

+0

죄송합니다.이 세부 정보를 포함 시키려고 했었습니다. @ForceBru, 제가 특별히 고집 한 부분은이 목록에서 특정 항목을 제거하려면 실제로 목록에있는 항목이어야합니다. 그러나이 목록에있는 항목 중 일부는 옆에 숫자가 있으므로 중복을 생성하지 않아야합니다. – jpcoder

답변

1

설명과 설명에서 다음은 필요한 샘플 코드입니다. 사전을 만들고 해당 항목을 키로, 개수를 값으로 저장하고 있습니다.

item = input("What would you like to add to the list?") # User Input : Dog 
cnt = int(input("How many?")) : User Input : 3 

d = {item:cnt} # dict created {'dog': '3'} 

def callFunctionNtimes(d, key): 
    """ 
    Function which check the key (dog) is present in the dict, if it is present call callYourFunction as many times as it is the value(count) of the key. 
    """ 
    cnt = d.get(key, 0) 
    for c in range(0, cnt): 
     callYourFunction() 
0

세트와 목록 간의 변환을 사용해보십시오. 새로운 입력을 추가 할 때 중복되는 요소를 피하기 위해 목록을 Set으로 변환하십시오. 일부 목록 속성을 사용하려면 목록으로 변환하십시오.

0

설명하는 문제의 경우 목록보다 사전을 사용하면 더 유용합니다. 이런 식으로 구현할 수 있습니다.

my_dict = {} 
my_dict['dog'] = 3 

사전의 키와 그 값의 수를 늘리십시오.

0

사용자가 '얼마나 많은'에 대해 입력 한 정수 값을 계산하려는 경우이 작업을 수행 할 수있는 여러 가지 방법이 있습니다. 데이터를 포함하는 사전을 가지고 있어야합니다. 이런 식으로 예를 들어 ,

>>> dict = {} 
>>> "What would you like to add to the list?" User: "dog" "How many?" User: "3" 
>>> dict["dog"] = 3 
>>> dict 
dict = {'dog': 3} 
>>> dict['cat'] = 2 
dict = {'dog': 3, 'cat': 2} 
>>> for key in dict: 
>>> print(key + ": " + str(dict[key])) 
dog: 3 
cat: 2 

, 당신은 사전에 서로 다른 키를 반복하고 당신은 '얼마나 많은'각의 알 수 있습니다.

사전의 각 항목은 이제 해당 숫자 값과 일치합니다.

관련 문제