외우지말고 이해하라.

외우는 것 보단 이해해서 내것으로 만들어 활용하기

Another-Develop/Python

01 파이썬 - divmod, 10진법 변환, 문자열 정렬

hyg4196 2021. 4. 15. 12:07
반응형

 

1. divmod - a, b 값의 몫 값 , 나머지 를 구합니다.

a, b = map(int, input().strip().split(' '))
z = int(a/b)
x = int(a%b)

print("{} {}".format(z,x))

print(divmod(a,b))

 해당 코드에 5,6 을 입력하면 (0 , 5) 가 출력됌

     - 참고 : print(*divmod(a,b)) 사용시 5, 0 으로 출력됌  - ()가 사라짐

 

 

문제 설명

    base 진법으로 표기된 숫자를 10진법 숫자 출력해보세요.

입력 설명

    입력으로는 공백으로 구분된 숫자가 두 개 주어집니다.
    첫 번째 숫자는 num을 나타내며, 두 번째 숫자는 base를 나타냅니다.

출력 설명

    base 진법으로 표기된 num을 10진법 숫자로 출력해보세요.

제한 조건

  • base는 10 이하인 자연수입니다.
  • num은 3000 이하인 자연수입니다.
num, base = map(int, input().strip().split(' '))
print(num + base)

c1000=0
c100= 0
c10 = 0
c1  = 0

if(num<10):
    c1 = int(num%10)
elif(num<100):
    c1 = int((num%10)%10)
    c10 = int(num/10)
elif(num<1000):
    c1 = int((num%10)%10)
    c10 = int((num%100)/10)
    c100 = int(num/100)
else:
    c1 = int((num%10)%10)
    c10 = int((num%100)/10)
    c100 = int((num%1000)/100)
    c1000 = int(num/1000)

print(c1000)
print(c100)
print(c10)
print(c1)

output = 0
if(c1000 != 0):
    output = int(c1000*base*base*base+c100*base*base+c10*base+c1)
elif(c1000==0):
    output = c100*base*base+c10*base+c1
elif(c100==0):
    output = c10*base+c1
elif(c10==0):
    output = c1

print(output)

 

2. n 진법으로 표기된 string 을 10진법 숫자로 변환

 

 파이썬의 int(x, base=10) 함수는 진법 변환을 지원합니다.

 

num = '3212'
base = 5
answer = int(num, base)

 

 

3. 문자열 정렬하기

 

우측 정렬 예시 :

s = '가나다라'
n = 7

answer = ''
for i in range(n-len(s)): # 문자열의 앞을 빈 문자열로 채우는 for 문
    answer += ' '
answer += s

 

파이썬 ljust, center, rjust

s = '가나다라'
n = 7

s.ljust(n) # 좌측 정렬
s.center(n) # 가운데 정렬
s.rjust(n) # 우측 정렬
반응형