2017 멀티캠퍼스/Python

# 파이썬 사후 평가 오답

꿈꾸는어린이 2018. 1. 11. 11:09

//

일시 : 2018.01.11 9:00 am ~ 11:00 am

내용 : python 사후평가 오답

//

#3 파이썬 3.6버전의 출력 함수

③ print ("%3.1f" % 3/1)

-> 3/1를 문자열로 인식하여 서식문자와 일치하지 않음

연산이 포함된 수식은 괄호로 묶어서 출력해주어야 함.

​ 따라서 올바르게 출력하기 위해서는 print("%3.1f" % (3/1)) 로 괄호로 묶어준다


# 4, 6

  • %f default값은 소수점 아래 6자리

  • 8진수는 2진수 세 자리, 16진수는 2진수 네 자리가 된다.



# 7 '2의 보수'

양의 정수를 음의 정수로 바꾸기 위해서는 2의 보수를 취한다.

2의 보수로 만들기 위해서는 비트반전(1의 보수) 후 +1

정수 5는 이진수 : 0000 0101

​ 비트 반전 : 1111 1010

​ +1 : 1111 1011 => 정수 -5 가 된다.


#9 관계연산식의 출력

a = 99일 때, not [] 의 출력 결과는?

[ ](리스트), " "(문자열), ( )(튜플)이 비어있는 객체일 때 값은 False.

요소가 하나라도 있으면 True

따라서 not [] 의 출력결과는 not(False) 이므로 True가 된다.


#11 비트연산자

a = 0xa

  • a의 3 번째 비트를 set

    16진수 a를 2진수로 변환 a = 1010

    ​ 1 << 2하면 100

    set하려면 a = a | (1<<2)


  • a의 2 번째 비트를 clear

    ​ a = 1010

    1 << 1하면 0010

    clear하기 위해 비트 반전

    a = 1010

    ​ 0001 clear하기 위해 a = a & ~(1<<1)




# 12 비트 연산자

pack 변수 -> | 성별(1비트) | 작업형태(8비트) | 직원ID(20비트) |

  • 작업 형태에 0xff를 저장하는 표현

    0xff = 1111 1111 를 << 20

    pack = 0xff << 20


  • 작업 형태의 값을 출력하는 표현

    예를 들어 packing 변수에 | 1 | 1010 1010 | 00000.... 가 저장되어 있다면

    먼저 packing >> 20 하며 직원ID 비트를 없애줌.

    그럼 0000..... 1 | 1010 1010 |이 저장되어 있는 상태.

    앞의 성별 1비트를 없애 주기 위해 0xff로 &

    00...001 | 1010 1010

    ​ 0 1111 1111 앞의 비트들은 0으로 채워지기 때문에

    & 해주면 0 | 1010 1010 만 남게 된다.

    print ("%d", % (packing >>20)&0xff)




#19 코드

***

**

*

위 출력 결과를 위한 코드

  for i in range(3):
 for j in range(3-i, 0, -1):
   print("*", end='')
 print("")



#23 리스트 출력

aa = [0,1,2,3,4,5,6,7,8,9] 일 때, print(aa[:-2]) 의 결과값.

처음부터 ~ index -2까지.

답은 [0,1,2,3,4,5,6,7]



#1. OS의 역할

  1. 사용자 - 컴퓨터 시스템간의 인터페이스 기능

  2. 사용자간의 HW 공동 사용 허용

  3. SW 개발을 위한 통합개발환경이다. -> 1:1 정의X

  4. 사용자간의 데이터 공유



#2. CLI(Command Line Interface) 환경에서 OS의 기본명령어가 아닌 것

  1. dir

  2. java : java 가상 머신

  3. Format : 포맷 -> 명령어 없음

  4. ipconfig -> window 명령어. 리눅스에서는 ifconfig