💬 오늘의 공부시간 PM 9:00 ~ AM 03:10

어제 저녁 시할아버지 제사로 포항을 급하게 다녀왔다.
포항가는 KTX 안에서 강의를 들었는데 아직 디지털기기 쪼렙이라 패드로 키보드를 치는건 무리더라 ㅠㅠ
내가 아직 기계치일수도 있는 것이기도 하고, 늦은 공부를 시작해 보련다.
정리 할 공부량이 많지만 요번주 시간이 너무 빠르다 ㅠㅠ
화이팅!!

🔥 1주차 todo 리스트 (5/3~5/7)

파이썬 기초1
파이썬 기초2~3
파이썬 기초4
파이썬 기초5
산술연산자(덧셈,뺄셈>
산술연산자<곱셈과 나눗셈>
산술연산자<나머지와 몫>
산술연산자<거듭제곱>
복합연산자
파이썬 기초6
비교연산자<숫자비교>
비교연산자<문자비교>
논리연산자
operator모듈

파이썬 기초7
파이썬 기초8
파이썬 기초9~10
파이썬 기초문풀1
파이썬 기초문풀2
파이썬 기초문풀3

📝 weekly 데이터 사이언스 스쿨 퀴즈

💻 핵심 내용 정리

📝 연산자란?

result = data1 + data2

  • 피연산자(data1, data2)를 연산자로 계산

📝 연산자종류

  • 산술 연산자 : +, -, *, /, %, //, **
  • 할당 연산자 : =, +=, -=, *=, /=, %=, //=
  • 비교 연산자 : >, >=, <, <=, ==, !=
    (== 같다/ != 같지않다/다르다)

📝 산술 연산자 <덧셈>

# 정수를 이용한 덧셈
num1 = 9
num2 = 3
result = num1 +num2
print(f'result = {result}')

# 실수를 이용한 덧셈
fNum1 = 3.14
fNum2 = 0.12
result = fNum1 + fNum2
print(f'result : {result}')
print("result : %.2f" % result)

# 정수와 실수를 이용한 덧셈
result = num1 + fNum2
print(f'result : {result}')

# 문자를 이용한 덧셈
str1 = 'Good'
str2 = ' '
str3 = 'morning'
result = str1 + str2 + str3
print(f'result : {result}')

# 숫자와 문자를 이용한 덧셈
result = num1 + str1
print(f'result : {result}')

result = 12
result : 3.2600000000000002
result : 3.26
result : 9.12
result : Good morning
TypeError: unsupported operand type(s) for +: 'int' and 'str'



실습_01

#  국어, 영어, 수학 점수를 입력하고 합계를 출력해보자.
kor = int(input('국어 점수 : '))
eng = int(input('영어 점수 : '))
mat = int(input('수학 점수 : '))
total = kor + eng + mat

print('국어 점수 {}'.format(kor))
print('영어 점수 {}'.format(eng))
print('수학 점수 {}'.format(mat))
print('합계 {}'.format(total))

국어 점수 : 85
영어 점수 : 90
수학 점수 : 95
국어 점수 85
영어 점수 90
수학 점수 95
합계 270



📝 산술 연산자 <뺄셈>

# 정수를 이용한 뺄셈
num1 = 10
num2 = 29
result = num1 - num2
print(f'num1 : {num1}')
print(f'num2 : {num2}')
print(f'result : {result}')

# 실수를 이용한 뺼셈
fNum1 = 3.14
fNum2 = 0.14
result = fNum1 - fNum2
print(f'fNum1 : {fNum1}')
print(f'fNum2 : {fNum2}')
print(f'result : {result}')
print(f'type of result : {type(result)}')

# 정수와 실수를 이용한 뺄셈
result = num1 - fNum1
print(f'Num1 : {num1}')
print(f'fNum1 : {fNum1}')
print(f'result : {result}')
print(f'type of result : {type(result)}')

# 문자(열)을 이용한 뺄셈
str1 = 'Good'
str2 = ' '
str3 = 'afternoon'
result = str1 - str2 - str3
print('result : {}'.format(result))

num1 : 10
num2 : 29
result : -19
fNum1 : 3.14
fNum2 : 0.14
result : 3.0
type of result : <class 'float'>
Num1 : 10
fNum1 : 3.14
result : 6.859999999999999
type of result : <class 'float'>
TypeError: unsupported operand type(s) for -: 'str' and 'str'



실습_02

# 이번달 알바비와 카드값을 입력하고, 남은 금액이 얼마인지 출력해 보자.
partTimePay = int(input('알바비 입력 : '))
cardMoney = int(input('카드값 입력 : '))
result = partTimePay - cardMoney

print('알비비 : {}원'.format(partTimePay))
print('카드값 : {}원'.format(cardMoney))
print('남는 금액 : {}원'.format(result))

알바비 입력 : 800000
카드값 입력 : 453000
알비비 : 800000원
카드값 : 453000원
남는 금액 : 347000원



📝 산술 연산자 <곱셈과 나눗셈>

# 숫자(정수, 실수)를 이용한 곱셈
num1 = 20
fNum1 = 3.14
result = num1 * fNum1
print('result : {}'.format(result))
print('result : %.2f' % result)

# 문자(열)을 이용한 곱셈
str1 = 'Hi '
result = str1 * 7
print('result : {}'.format(result))

# 숫자(정수, 실수)를 이용한 나눗셈
num1 = 10
num2 = 3
result = num1 / num2
print('num1 : {}, num2 : {}'.format(num1, num2))
print('result :{}'.format(result))
print('result : %.2f' % result)

# 0을 나눗셈 하는 경우
num1 = 0
num2 = 3
result = num1 / num2
print('result : {}'.format(result))

# 0으로 나누는 경우
result = num2 / num1
print('result :{}'.format(result))

result : 62.800000000000004
result : 62.80
result : Hi Hi Hi Hi Hi Hi Hi
num1 : 10, num2 : 3
result :3.3333333333333335
result : 3.33
result : 0.0
ZeroDivisionError: division by zero


  • 0으로는 나눌 수 없다.
  • 0을 나눗셈하는 경우엔 항상 결과는 0이다.
  • 나눗셈의 결과는 항상 실수(float)이다.
# 나눗셈의 결과는 항상 실수(float)이다.
num1 = 20
num2 = 10
result = num1 / num2
print('result :{}'.format(result))
print('type of result : {}'.format(type(result)))

result :2.0
type of result : <class 'float'>



실습_03

# 국어, 영어, 수학 점수를 입력하고 합계와 평균을 출력해 보자.
kor = int(input('국어 점수 : '))
eng = int(input('영어 점수 : '))
mat = int(input('수학 점수 : '))
total = kor + eng + mat

print('국어 점수 {}'.format(kor))
print('영어 점수 {}'.format(eng))
print('수학 점수 {}'.format(mat))
print('합계 {}'.format(total))
print('평균 {}'.format(total / 3))
print('평균 %.2f' % (total / 3))

국어 점수 : 85
영어 점수 : 90
수학 점수 : 85
국어 점수 85
영어 점수 90
수학 점수 85
합계 260
평균 86.66666666666667
평균 86.67


실습_04

# 학급 전체 학생수 입력
# 한 모둠에 속하는 학생수 입력
# 전체 모둠 수 입력

everyOne = int(input('전체 학생수 : '))
stuCntOfGroup = int(input('한 모둠 학생 수 : '))
allGroupCnt = everyOne / stuCntOfGroup

print('전체 학생 수 : {}'.format(everyOne))
print('한 모둠 학생 수 : {}'.format(stuCntOfGroup))
print('모둠 수 : {}'.format(allGroupCnt))
print('모둠 수 : {}'.format(int(allGroupCnt)))

전체 학생수 : 25
한 모둠 학생 수 : 4
전체 학생 수 : 25
한 모둠 학생 수 : 4
모둠 수 : 6.25
모둠 수 : 6



📝 산술 연산자 <나머지와 몫>

# 예시 _ / 나눗셈
num1 = 10
num2 = 3
result = num1 / num2
print('num1: {}, num2: {}, result: {}'.format(num1, num2, result))

# 나눗셈 결과 나머지 만 구함 _ % 나머지
num1 = 10
num2 = 3
result = num1 % num2

print('num1: {}, num2: {}, result: {}'.format(num1, num2, result))

# 나눗셈 결과 몫 만 구함 _ // 몫
num1 = 10
num2 = 3
result = num1 // num2

print('num1: {}, num2: {}, result: {}'.format(num1, num2, result))

num1: 10, num2: 3, result: 3.3333333333333335
num1: 10, num2: 3, result: 1
num1: 10, num2: 3, result: 3



📝 divmod() 함수

  • 나머지와 몫을 한번에 구하기
num1 = 10
num2 = 3

result = divmod(num1, num2)          # 인덱스 개념 [3, 1]
print('result: {}'.format(result))
print('몫 : {}'.format(result[0]))
print('나머지 : {}'.format(result[1]))

result: (3, 1)
몫 : 3
나머지 : 1



실습_05

# 학급 전체 학생수 입력
# 한 모둠에 속하는 학생수 입력
# 전체 모둠 수과 남는 학생수 입력

everyOne = int(input('전체 학생수 : '))
stuCntOfGroup = int(input('한 모둠 학생 수 : '))
allGroupCnt = everyOne // stuCntOfGroup
overGroupCnt = everyOne % stuCntOfGroup

print('전체 학생 수 : {}'.format(everyOne))
print('한 모둠 학생 수 : {}'.format(stuCntOfGroup))
print('모둠 수 : {}'.format(allGroupCnt))
print('남는 학생 수 :{}'.format(overGroupCnt))

# divmod() 함수를 이용
result = divmod(everyOne, stuCntOfGroup)
print('result : {}'.format(result))
print('모둠 수 : {}'.format(result[0]))
print('남는 학생 수 : {}'.format(result[1]))

전체 학생수 : 25
한 모둠 학생 수 : 4
전체 학생 수 : 25
한 모둠 학생 수 : 4
모둠 수 : 6
남는 학생 수 :1
result : (6, 1)
모둠 수 : 6
남는 학생 수 : 1


실습_06

# 123개의 사과를 4개씩 직원들한테 나누어 주려고 한다.
# 최대 나누어 줄수 있는 직원수와 남는 사과 개수를 출력해 보자.

emploree = 123
apple = 4
result = divmod(emploree, apple)

print('사과를 나누어 줄 수 있는 최대 직원 수 : {}명'.format(result[0]))
print('남는 사과의 갯수 : {}명'.format(result[1]))

사과를 나누어 줄 수 있는 최대 직원 수 : 30명
남는 사과의 갯수 : 3명



📝 산술 연산자 <거듭제곱>

  • 같은 수를 여러 번 곱한 값을 구한다.
num1 = 2
num2 = 3
result = num1 ** num2

print('num1 : {}'.format(num1))
print('num2 : {}'.format(num2))
print('result : {}'.format(result))

num1 : 2
num2 : 3
result : 8



📝 n의 m 제곱근의 공식 _ n ** (1/m)

# 2의 제곱근 구하기
result = 2 ** (1/2)
print('2의 제곱급 %f' % result)
print('2의 제곱급 %.2f' % result)

# 2의 3제곱근 구하기
result = 2 ** (1/3)
print('2의 3제곱급 %f' % result)
print('2의 3제곱급 %.2f' % result)

# 2의 4제곱근 구하기
result = 2 ** (1/4)
print('2의 4제곱급 %f' % result)
print('2의 4제곱급 %.2f' % result)

2의 제곱급 1.414214
2의 제곱급 1.41
2의 3제곱급 1.259921
2의 3제곱급 1.26
2의 4제곱급 1.189207
2의 4제곱급 1.19



📝 math모듈의 sqrt()와 pow()함수

sqrt()함수를 이용한 제곱근 구하기
→ 항상 제곱근 만 구한다.

import math

print('2의 제곱근 %f' % math.sqrt(2))
print('2의 제곱근 %.2f' % math.sqrt(2))

print('3의 제곱근 %f' % math.sqrt(3))
print('3의 제곱근 %.2f' % math.sqrt(3))

print('4의 제곱근 %f' % math.sqrt(4))
print('4의 제곱근 %.2f' % math.sqrt(4))

pow()함수를 이용한 제곱근 구하기
→ [0]의 [1] 제곱근을 구하는 함수.

import math

print('2의 3제곱근 %f' % math.pow(2, 3))
print('3의 4제곱근 %f' % math.pow(3, 4))

2의 3제곱근 8.000000
3의 4제곱근 81.000000



실습_07

아들이 엄마한테 용돈을 받는데, 첫 달에는  200원을 받고 매월 이전 달의 2배씩 인상하기로 했다.
12개월째 되는 달에는 얼마를 받을 수 있는 지 계산해 보자.

firstMonthMoney = 200
after12Month = ((firstMonthMoney * 0.01) ** 12) * 100
print('12개월 후 용돈 : %.f 원' % after12Month)

after12Month =int(after12Month)
strResult = format(after12Month, ',')
print('12개월 후 용돈 : %s원' % strResult)

print(strResult, '원')

12개월 후 용돈 : 409600 원
12개월 후 용돈 : 409,600원
409,600 원



📝 복합 연산자

  • 할당(대입) 연산자
    = (오른쪽의 값을 왼쪽에 할당/대입한다.)
num1 = 10
num2 = 20
result = num1 + num2

복합연산자

  • +=
    덧셈 연산 후 할당
  • -=
    뺄셈 연산 후 할당
  • *=
    곱셈 연산 후 할당
  • /=
    나눗셈 연산 후 할당
  • %=
    나머지 연산 후 할당
  • //=
    몫 연산후 할당
  • **=
    거듭제곱 연산후 할당

예시

num = 10

num1 = num + 6
num1 += 1

print('num1 : {}'.format(num1))

num1 : 17



실습_08

다음 표를 참고해서 연간 누적 강수량을 출력해보자.
|| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12|
|강수량| 30| 45| 47| 55| 65| 100| 128| 209| 204| 186| 67| 25|

rain = 0
totalRainAmount = 0


totalRainAmount += 30
print('1월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 45
print('2월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 47
print('3월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 55
print('4월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 65
print('5월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 100
print('6월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 128
print('7월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 209
print('8월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 204
print('9월 누적 강수량 : {}mm '.format(totalRainAmount))

totalRainAmount += 186
print('10월 누적 강수량 : {}mm '.format(format(totalRainAmount,',')))

totalRainAmount += 67
print('11월 누적 강수량 : {}mm '.format(format(totalRainAmount,',')))

totalRainAmount += 25
print('12월 누적 강수량 : {}mm '.format(format(totalRainAmount,',')))


avgRainAmount = totalRainAmount / 12


print('-' * 30)
print('연간 누적 강수량 : {}mm '.format(format(totalRainAmount,',')))
print('연간 평균 강수량 : {}mm '.format(avgRainAmount))
print('-' * 30)

1월 누적 강수량 : 30mm
2월 누적 강수량 : 75mm
3월 누적 강수량 : 122mm
4월 누적 강수량 : 177mm
5월 누적 강수량 : 242mm
6월 누적 강수량 : 342mm
7월 누적 강수량 : 470mm
8월 누적 강수량 : 679mm
9월 누적 강수량 : 883mm
10월 누적 강수량 : 1,069mm
11월 누적 강수량 : 1,136mm
12월 누적 강수량 : 1,161mm

연간 누적 강수량 : 1,161mm
연간 평균 강수량 : 96.75mm



📝 비교 연산자 <숫자비교>

  • 연산결과는 bool(논리형)이다.
num1 = 10
num2 = 5

result = num1 > num2   # True
print('num1 > num2 : {}'.format(result))

result = num1 >= num2   # True
print('num1 >= num2 : {}'.format(result))

result = num1 < num2   # False
print('num1 < num2 : {}'.format(result))

result = num1 <= num2   # False
print('num1 <= num2 : {}'.format(result))

result = num1 == num2   # False
print('num1 == num2 : {}'.format(result))

result = num1 != num2   # True
print('num1 != num2 : {}'.format(result))

실습_09

숫자 두개를 입력한 후 비교연산 결과를 출력하는 코드를 작성하자.

userInputNumber1 = int(input('첫번째 숫자 입력 : '))
userInputNumber2 = int(input('두번째 숫자 입력 : '))

print('{} > {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 > userInputNumber2)))
print('{} >= {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 >= userInputNumber2)))
print('{} < {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 < userInputNumber2)))
print('{} <= {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 <= userInputNumber2)))
print('{} == {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 == userInputNumber2)))
print('{} != {} : {}'.format(userInputNumber1, userInputNumber2, (userInputNumber1 != userInputNumber2)))

첫번째 숫자 입력 : 2
두번째 숫자 입력 : 15
2 > 15 : False
2 >= 15 : False
2 < 15 : True
2 <= 15 : True
2 == 15 : False
2 != 15 : True



실습_10

자동차의 전장과 전폭을 입력하면 자동차 기계 세차 가능여부를 출력하는 코드를 작성해 보자.
(최대 전장길이 : 5200mm, 최대 전폭길이 : 1985mm)
maxLength = 5200
maxWidth = 1985

myCarLength = int(input('전장 길이 입력 : '))
myCarWidth = int(input('전폭 길이 입력 : '))

print('전장 가능 여부 : {}'.format(myCarLength <= maxLength))
print('전폭 가능 여부 : {}'.format(myCarWidth <= maxWidth))

전장 길이 입력 : 5201
전폭 길이 입력 : 1985
전장 가능 여부 : False
전폭 가능 여부 : True



📝 비교 연산자 <문자비교>

  • 문자 비교 : 아스키 코드를 이용한 비교연산
    아스키코드는 구글링하여 찾는다.
# 문자와 아스키 코드 변환
cha1 = 'A'    # 65
cha2 = 'S'    # 83

print('\'{}\' > \'{}\' : {}'.format(cha1, cha2, (cha1 > cha2)))
print('\'{}\' >= \'{}\' : {}'.format(cha1, cha2, (cha1 >= cha2)))
print('\'{}\' < \'{}\' : {}'.format(cha1, cha2, (cha1 < cha2)))
print('\'{}\' <= \'{}\' : {}'.format(cha1, cha2, (cha1 <= cha2)))
print('\'{}\' == \'{}\' : {}'.format(cha1, cha2, (cha1 == cha2)))
print('\'{}\' != \'{}\' : {}'.format(cha1, cha2, (cha1 != cha2)))

'A' > 'S' : False
'A' >= 'S' : False
'A' < 'S' : True
'A' <= 'S' : True
'A' == 'S' : False
'A' != 'S' : True



ord() 함수 _ 알파벳(문자)을 입력하면 아스키 코드(숫자)로 출력(10진법)

print('\'A\' -> {}'.format(ord('A')))
print('\'S\' -> {}'.format(ord('S')))

chr() 함수 _ 아스키 코드(숫자)를 입력하면 알파벳(문자)로 출력

print('65 -> {}'.format(chr(65)))
print('83 -> {}'.format(chr(83)))

  • 문자열 비교 : 문자열 자체를 비교한다. (True / False)
    같다/같지않다 두개만 가능하다. (문자열은 크다/작다로 비교 할 수 없다.)
    한글자만 틀려도 틀리다.
str1 = 'Hello'
str2 = 'hello'

print('{} == {} : {}'.format(str1, str2, (str1 == str2)))
print('{} != {} : {}'.format(str1, str2, (str1 != str2)))

Hello == hello : False
Hello != hello : True



실습_11

아이디와 패스워드를 입력한 후 비교결과을 출력하자.
systemID = 'administrator@gmail.com'
systemPW = '!@#$%qwertyQWERTY'

userInputID = input('아이디 입력 : ')
userInputPW = input('비밀번호 입력 : ')

print('아이디 비교 결과 : {}'.format(systemID == userInputID))
print('비밀번호 비교 결과 : {}'.format(systemPW == userInputPW))

아이디 입력 : administrator@gmail.com
비밀번호 입력 : 12345qwerQWERTY
아이디 비교 결과 : True
비밀번호 비교 결과 : False



📝 논리 연산자

  • 피연산자의 논리(True/False)를 이용한 연산
    논리 연산자 종류 : and, or, not

  • and 연산
    A and B
    A와 B모두 True인 경우만 결과값으로 True이다.

  • or 연산
    A or B
    A와 B중 어느하나만 True이면 결과값은 True이다.

  • not 연산 (부정연산자)
    not A
    A의 상태를 부정하는 결과를 나타낸다.

예시

백신 접종 대상자는 20세 미만 또는 65세이상자에 한합니다.
논리연산자를 이용해서 코딩해보자.

age = int(input('나이 입력 : '))
vaccine = (age < 20) or (age >= 65)
print('age: {}, result: {}'.format(age, vaccine))

나이 입력 : 38
age: 38, result: False

나이 입력 : 66
age: 66, result: True



실습_12

국어, 영어, 수학 점수를 입력하고 평균이 10점 이상이면 True를 출력하는 코드를 작성해보자.
(, 과목별 점수가 최소 60이상인 경우에 True를 출력한다.)

passScore1 = 60
passScore2 = 70

kor = int(input('국어 점수 입력 : '))
eng = int(input('영어 점수 입력 : '))
mat = int(input('수학 점수 입력 : '))

avgScore = (kor + eng + mat) / 3
passScoreResult = avgScore >= passScore2

korResult = kor >= passScore1
engResult = eng >= passScore1
matrResult = mat >= passScore1

subjectResult = korResult and engResult and matrResult

print('평균 : {}, 결과 : {}'.format(avgScore, passScoreResult))

print('국어 : {}, 결과 : {}'.format(kor,korResult))
print('영어 : {}, 결과 : {}'.format(eng,engResult))
print('수학 : {}, 결과 : {}'.format(mat,matrResult))


print('과락 결과 : {}'.format(subjectResult))
print('최종 결과 : {}'.format(avgScore and subjectResult))

국어 점수 입력 : 89
영어 점수 입력 : 70
수학 점수 입력 : 60
평균 : 73.0, 결과 : True
국어 : 89, 결과 : True
영어 : 70, 결과 : True
수학 : 60, 결과 : True
과락 결과 : True
최종 결과 : True



📝 operator모듈

모듈이란?
누군가 이미 만들어 놓은 훌륭한 기능

  • 산술연산자 관련 함수
num1 = 8
num2 = 3

import operator

print('{} + {} : {}'.format(num1, num2, operator.add(num1,num2)))
print('{} - {} : {}'.format(num1, num2, operator.sub(num1,num2)))
print('{} * {} : {}'.format(num1, num2, operator.mul(num1,num2)))
print('{} / {} : {}'.format(num1, num2, operator.truediv(num1,num2)))
print('{} % {} : {}'.format(num1, num2, operator.mod(num1,num2)))
print('{} // {} : {}'.format(num1, num2, operator.floordiv(num1,num2)))
print('{} ** {} : {}'.format(num1, num2, operator.pow(num1,num2)))

8 + 3 : 11
8 - 3 : 5
8 * 3 : 24
8 / 3 : 2.6666666666666665
8 % 3 : 2
8 // 3 : 2
8 ** 3 : 512



  • 비교 연산자 관련 함수
num1 = 8
num2 = 3

import operator

print('{} > {} : {}'.format(num1, num2, operator.gt(num1,num2)))
print('{} >= {} : {}'.format(num1, num2, operator.ge(num1,num2)))
print('{} < {} : {}'.format(num1, num2, operator.lt(num1,num2)))
print('{} <= {} : {}'.format(num1, num2, operator.le(num1,num2)))
print('{} == {} : {}'.format(num1, num2, operator.eq(num1,num2)))
print('{} != {} : {}'.format(num1, num2, operator.ne(num1,num2)))

8 > 3 : True
8 >= 3 : True
8 < 3 : False
8 <= 3 : False
8 == 3 : False
8 != 3 : True



  • 논리 연산자 관련 함수
flag1 = True
flag2 = False

import operator

print('{} and {} : {}'.format(flag1, flag2, operator.and_(flag1,flag2)))
print('{} or {} : {}'.format(flag1, flag2, operator.or_(flag1,flag2)))
print('{} not {} : {}'.format(flag1, flag2, operator.not_(flag1)))

True and False : False
True or False : True
True not False : False



실습_13

이전 시간에 실습했던 백신 접종 대상자 출력코드를 operator 모듈을 이용해서 변경해 보자.
[이전 실습]
백신접종 대상자는 20세 미만 또는 65세 이상자에 한합니다.를 논리연산자를 이용해서 코딩해보자.

age = int(input('나이 입력 : '))

import operator
vaccine =operator.or_(operator.lt(age, 20), operator.ge(age, 65))
print('age : {}, result : {}'.format(age, vaccine))

나이 입력 : 48
age : 48, result : False
나이 입력 : 7
age : 7, result : True



실습_13

import operator

import random
rInt = random.randint(10, 100)

num10 = operator.floordiv(rInt, 10)   # 몫
num1 = operator.mod(rInt, 10)       # 나머지

print('난수 : {}'.format(rInt))
print('십의 자리 : {}'.format(num10))
print('일의 자리 : {}'.format(num1))
print('십의 자리는 3의 배수이다. : {}'.format(operator.mod(num10, 3) == 0))   # 나머지
print('일의 자리는 3의 배수이다. : {}'.format(operator.mod(num1, 3) == 0))    # 나머지

난수 : 23
십의 자리 : 2
일의 자리 : 3
십의 자리는 3의 배수이다. : False
일의 자리는 3의 배수이다. : True



💡 오늘을 마무리하면서 ...

와아.. 진짜 하루 스터디 노트 놓치니까 답이 없네ㅠㅠ
부지런히 해도 힘들구나... 영상강의도 중요한데 매일 하는 스터디 노트도 중요함
안 중요한게 하나도 없는 것 같은데.. 점점 많아지는 과제랑 수업을 잘 할수 있을까?
게을러 지면 낙오다. 하루의 귀찮아하면 다음은 없는거야!! ㅠ
힘들다 진짜... 벌서 이렇게 힘들면 안되는데 사람들은 어떻게 공부하고 있을까???

😃 Busy Study _ 새벽반 PM 10:00 ~ AM 2:30

여러분 화이팅!! 우리 모두 다 잘 될거예요!

profile
늦깎이 DA/DS 취준생, 이곳은 스터디노트 겸 성장기록장(소통환영이요💜)

0개의 댓글