연습용 코드를 작성하려고했는데, 정상적으로 작동하지만 두려운 것처럼 보였습니다. 필요하지 않은 것을 제거 할 수있는 사람이 있는지 궁금합니다. 일부 기능을 결합 하시겠습니까? 여기 목록에 항목 추가하기 - Python
이 기능의 사용의 예 :choices([['YES', 'NO', 'YES', 'YES'], ['NO', 'NO', 'YES', 'NO'], ['YES', 'YES', 'YES', 'YES']])
목록 내의 각 목록은 네 개의 예/아니오 선택이있다 (물론 목록 네 가지 옵션 아래 지표, 예를 들면, 녹색, 빨강, 파랑, 노랑; 하지만 네 가지 일 필요는 없습니다.) 목록에있는 목록의 수는 얼마나 많은 사람들이 투표를했는지입니다.
i = 0
num = 0
total_num = 0
num_choices = len(INDICES)
choices_index = 0
choices_votes = []
choices_votes_num = []
index = 0
total_choices = []
winning_choice = ''
winning_index = 0
while i < len(parameter):
while num < num_choices:
for item in parameter:
choices_votes.append(item[num])
num += 1
i += 1
while total_num < len(choices_votes):
if choices_votes[total_num] == 'YES':
choices_votes_num.append(1)
total_num += 1
elif choices_votes[total_num] == 'NO':
choices_votes_num.append(0)
total_num += 1
while choices_index < len(choices_votes_num):
count = int(len(choices_votes_num)/num_choices)
total = 0
total = sum(choices_votes_num[choices_index:(choices_index + count)])
total_choices.append(total)
choices_index = choices_index + count
for score in total_choices:
winning_index = max(total_choices)
winning_choice = INDEX_TO_NAME[total_choices.index(winning_index)]
return winning_choice, total_choices
INDEX_TO_NAME
은 색인을 선택 항목 (색상)에 연결하기 위해 설정된 사전입니다.
기본적으로 코드는 각 예를 1 포인트로 계산하고 각 숫자를 0 포인트로 계산하고 사용 가능한 각 선택 항목의 총점을 합한 다음 합계와 승자를 반환합니다.
c = [['YES', 'NO', 'YES', 'YES'],
['NO', 'NO', 'YES', 'NO'],
['YES', 'YES', 'YES', 'YES']]
INDICES = ['red', 'green', 'blue', 'yellow']
당신이 어쨌든 설문 조사를 소스로 INDICES
을 사용하고 있기 때문에, 우리는 대답은 항상 INDICES
의 수와 줄 것이라고 가정 할 수있다 :
고마워요! 그게 도움이! – user52610