파이썬 질문드립니다.
조회수 694회
이런 간단한 문제를 풀고 있는데 흠 잘 안되네요 .. 도와주세요 ㅠㅠ 실행하면 soso가 나오네요 .... 그리고 원래 사람수 입력해야되는데 그건 일단 테스트 해보느라 함수 파라미터 값에 3을 넣어줬어요
[입력] 첫 번째 줄에 설문조사를 한 사람의 수 N (1 ≤ N ≤ 101, N은 홀수)가 주어진다. 다음 N개의 줄에는 각 줄마다 각 사람이 설문 조사에 어떤 의견을 표명했는지를 나타내는 정수가 주어진다. 0은 준희가 귀엽지 않다고 했다는 뜻이고, 1은 준희가 귀엽다고 했다는 뜻이다.
[출력] 준희가 귀엽지 않다는 의견이 더 많을 경우 "Junhee is not cute!"를 출력하고 귀엽다는 의견이 많을 경우 "Junhee is cute!"를 출력하라.
예제
입력
3
1
0
0
출력 Junhee is not cute!
def isJunheeCute(people) :
choice = 0
result = []
noCute = 0
yesCute = 0
if people % 2 != 0 :
while people < 0:
choice = int(input("귀엽다1, 안귀엽다 0"))
result.append(choice)
people = people -1
for i in result:
if result[i] ==0:
noCute = noCute +1
else :
yesCute = yesCute +1
if noCute > yesCute:
print("junhee is not cute")
elif noCute<yesCute:
print("junhee is yes cute")
else:
print("soso")
else:
print("홀수명만 참가합니다")
isJunheeCute(3)
1 답변
-
방금 잘 작동하는 코드를 짜보았고 대략의 힌트만 드리겠습니다.
"so so"
가 출력되면 안 됩니다. 주어진 문제는 "(N은 홀수)"라고 규정하고 있습니다. 따라서 그 처리가 들어가야 합니다. 즉 사용자가 홀수가 아닌 무엇인가를 입력할 때의 예외 처리가 있어야 하지요.- 이 투표는 찬반 투표입니다. "귀엽지 않다"라는 표는 "귀엽다"에 대한 반대표이기 때문이죠. 그렇다면 이 투표는 어느 쪽이든 과반수를 얻는 쪽이 이깁니다. 예컨대
7
명이1
표씩을 행사하는 경우라면7/2 = 3.5
표 이상을 받는 쪽이 이기는 것이죠. 음... 왠지 갑자기 "찬성"을1
, "반대"를0
이라고 부르고 싶어지는데... 왜지??!!
여기서부터는 본인의 숙제! 한번 시도해 보세요.
댓글 입력