테스트 사이트 - 개발 중인 베타 버전입니다

파이썬 질문이 있습니다. 채택완료

Shoe23 4년 전 조회 2,793

2진수를 10진수로 변환 시키는 코드를 만들고 있는데, 문제가 생겼습니다.

2진수를 입력하면 10진수로 변환이 되긴 하는데 2진수가 아닌 수를 입력해도 변환됩니다.

어떻게 코드를 짜야 할지 모르겠습니다... 살려주세요

 

num=str(input('하나의 이진수를 입력하세요: '))
d=0
p=1
i=(len(num))-1
 
for i in range(i+1):
    d=int(num[i])*p+d
    p=p*2
    i=i-1
str1= '이진수 %s을 십진법으로 표현한 값 = %d' %(num,d)
print(str1)

 

현재 여기까지는 했는데, 2진수가 아닌수를 구분하는 코드를 못짜겠어요

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
4년 전

0, 1 아니면 패스 하도록 짜면 되겠네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

로그인