[Python] 시프트연산 예제1-1
문자열을 입력하고 문자열 안에 포함된 'x'의 개수만큼의 숫자를 시프트 연산하여라드래그용 코드
print bin(0b1111 << raw_input("Enter : ").count('x'))가독성을 높이기 위한 코드
코드 설명
print bin(0b1111 << raw_input("Enter : ").count('x'))print: 출력하겠다
bin(0b111 << #): 시프트연산자
#: raw_input("Enter : "): 문자열 입력값
.count('x')): x의 갯수를 count를 사용하여 세겠다
여기서 . 은 시프트 연산자를 카운트 하겠다는 뜻임
종합
즉 출력을 하겠는데 그안을 들여다 보니시프트 연산자(bin1111 << #)를
카운트 하겠다(.count)
시프트 연산자란?
-시프트 연산자는 데이터를 비트 단위로 이동시켜 값을 증감시키는 연산자예제를 보면 쉽게 이해할 수있다
2진수로 예를 들겠다. 101011을 <<2 시프트연산 해주니 값이 뒤로 00이 더붙었다
반대로 >>해주니 2영역을 지워서 101011->1010으로 11이 삭제된 것을 알 수 있다
[Python] 시프트연산 예제1-2
사용자에게 입력받은 문자열의 'p'갯수가 짝수이면문자열 전체를 대문자로 출력
홀수이면 문자열 전체를 소문자로 출력
드래그용 코드
while True:a=raw_input('go')
chk=a.count('p')
print('chk= %d' %chk)
if chk % 2 == 0:
print(a.upper())
else:
print(a.lower())
break
가독성을 위한 코드
코드 설명
while True:
a=raw_input('Enter :')
chk=a.count('p')
print('chk= %d' %chk)
if chk % 2 == 0:
print(a.upper())
else:
print(a.lower())
break
a=raw_input('Enter :')
chk=a.count('p')
print('chk= %d' %chk)
if chk % 2 == 0:
print(a.upper())
else:
print(a.lower())
break
while True: 무한루프 이용하려 한다. 무한루프를 이용해서 입력과 출력을 해야하는 번거로움을 없애려고 한다. 궁금하면 이문장과 break를 지워보고 실행해봅시다
a=raw_input('Enter :') raw_input은 문자형으로 입력을 받겠다.
즉. 문자형으로 입력을 받은 값을 a에 넣어주겠다
chk=a.count('p') 입력값 a안에 있는 'p'의 개수를 카운트하여 chk라는 곳으로 보내준다
print('chk= %d' %chk) 카운트가 잘 넘어왔는지 체크하기 위해서 출력해준다
chk로 chk의 값이 잘 넘어왔는지 출력을 해본다
-오류가 나서 오류를 찾기 위해 넣은 구문
if chk % 2 == 0: 조건문. chk(p의개수)를 2로 나누어 %(나눈값의 나머지)가 0이 될경우
즉. p의 개수를 나누어 나머지가 0이 나올경우
print(a.upper()) 참이면 대문자(짝수니까 2로 나눠서 0으로 떨어지겠죠?)
else: 거짓이면
print(a.lower()) 소문자
break 브레이크 문을 빼주면 실행하고 다시 입력을 해야하기 때문에 테스트를 많이 하고싶으면 뺴도 좋다
코드 설명
temp라는 방에 raw_input입력값을 넣어준다
출력을 하는데 temp를 대문자로 한다.
조건은 temp의 p의 개수를 카운트해서 (p / 2 나머지가 0일때 실행)
아닐경우는 소문자로 출력
위에 코드를 보면 충분히 이해할 수 있기 때문에 자세한 설명은 안했습니다.
즉. p의 개수를 나누어 나머지가 0이 나올경우
print(a.upper()) 참이면 대문자(짝수니까 2로 나눠서 0으로 떨어지겠죠?)
else: 거짓이면
print(a.lower()) 소문자
break 브레이크 문을 빼주면 실행하고 다시 입력을 해야하기 때문에 테스트를 많이 하고싶으면 뺴도 좋다
간편한 한줄코딩
코드 설명
temp라는 방에 raw_input입력값을 넣어준다
출력을 하는데 temp를 대문자로 한다.
조건은 temp의 p의 개수를 카운트해서 (p / 2 나머지가 0일때 실행)
아닐경우는 소문자로 출력
위에 코드를 보면 충분히 이해할 수 있기 때문에 자세한 설명은 안했습니다.
댓글 없음:
댓글 쓰기