파이썬 배수구하기

조회수 1887회

x=int(input("정수 x="))

if x%5==0 and x%4==0: print("20의 배수") elif ~x%4==0 and x%5==0: print("5의 배수") elif ~x%5==0 and x%4==0: print("4의 배수") else: print("이도 저도 아닌 녀석들")

input()

여기서 5를 입력하면 5의 배수 라는 텍스트가 나오길 원하는데 이도저도 아닌녀석들이 나와버리네요 ㅠㅠ 4나 20의 경우에는 맞춰서 나오는데 8 12의 경우에도 제대로 출력되지 않고요.. 뭐가 문제인 걸까요...?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 안녕하세요?

    x가 4로 나누어지지 않는 경우를 ~x%4 == 0 로 표현하신 것 같습니다. 파이썬의 ~는 비트 연산자라서 원하시는 결과가 나오지 않을 것입니다.

    제 생각에는 코드를 다음과 같이 약간 고치면 원하는 결과가 나올 것 같습니다.

    if x%5==0 and x%4==0:
        print("20의 배수")
    elif x%4!=0 and x%5==0:
        print("5의 배수")
    elif x%5!=0 and x%4==0:
        print("4의 배수")
    else:
        print("이도 저도 아닌 녀석들")
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)