반응형
SMALL

def print_formatted(number):
    # your code goes here

if __name__ == '__main__':
    n = int(input())
    print_formatted(n)

기본 코드가 주어지고

정수 N dmf하나 입력받아

10진수, 8진수, 16진수, 2진수로

정수 N 까지 출력을 하는 건데

밑에 보시면 원하는 데로는 출력이 되는데

 

다시 보니 간격이 주어지네요....

 

def print_formatted(number):
    # your code goes here
    n = number

    for i in range(1, n+1):
        print ('{0:>{width}}'.format(i, width=len(bin(n))-2), 
                '{0:>{width}}'.format(oct(i)[2:], width=len(bin(n))-2),  
                '{0:>{width}}'.format(hex(i)[2:], width=len(bin(n))-2),  
                '{0:>{width}}'.format(bin(i)[2:], width=len(bin(n))-2))
if __name__ == '__main__':
    n = int(input())
    print_formatted(n)

다른 분들 답안을 보니....

참 뻘짓을 했구나 싶었습니다 ㅜ

더보기
def print_formatted(number):
    # your code goes here
    for i in range(1,n+1):
        print(str(i).rjust(int(len(bin(n)[2:]))),
        oct(i)[2:].rjust(int(len(bin(n)[2:]))),    
        hex(i)[2:].upper().rjust(int(len(bin(n)[2:]))),
        bin(i)[2:].rjust(int(len(bin(n)[2:]))))
if __name__ == '__main__':
    n = int(input())
    print_formatted(n)

  

 

#10 진수  -> XX진수 변환

print(123) # 정수
>>>123

print(oct(123)) # 8진수
>>>0o173

print(hex(123)) # 16진수
>>>0x7b

print(bin(123)) # 2진수
>>>0b1111011

 

#접두어 제거( 슬라이싱 )

# 출력 옵션

print(123) # 정수
>>>123

print(oct(123)[2:]) # 8진수
>>>173

print(hex(123)[2:]) # 16진수
>>>7b

print(bin(123)[2:]) # 2진수
>>>1111011
반응형
LIST

+ Recent posts