파이썬5, 6, 7, 8

윤선민·2023년 11월 22일

파이썬

목록 보기
3/14

13_데이터 입력

데이터 입력 함수 : input()
데이터 출력 함수 : print()

💡 input() 함수를 이용해서 입력한 데이터는 항상 문자(열)형 자료형.
-> 형 변환 함수를 이용해 형 변환 가능

userInputData = input('오늘 날씨 정보 입력 : ')

print(userInputData)
============================
오늘 날씨 정보 입력 : 오늘은 흐립니다.
오늘은 흐립니다.
userInputData = input('이름 : ')

print(userInputData)
print(type(userInputData))
==================================
이름 : 윤선민
윤선민
<class 'str'>
width = int(input('가로 길이 : '))
height = int(input('세로 길이 : '))

print(width * height)
print(width * height / 2)
=======================================
가로 길이 : 10
세로 길이 : 5
50
25.0

14_데이터 출력

  • print()함수를 이용한 기본적인 데이터 출력
  • 콤마를 이용한 데이터 연속 출력
  • 포맷 문자열을 이용한 데이터 출력
  • 특수문자 : \t > 탭 / \n > 개행
width = int(input('가로 길이 입력 : '))
height = int(input('세로 길이 입력 : '))

triangle = width * height / 2
print(f'width : {width}, height : {height}, triangle : {triangle}')
=======================================================================
가로 길이 입력 : 10
세로 길이 입력 : 5
width : 10, height : 5, triangle : 25.0

15_format()와 형식문자

format()함수

userName = 'hong gil dong'
userAge = '21'
print('User Name : {0}, User Age : {1}'.format(userName, userAge))
========================================================================
User Name : hong gil dong, User Age : 21

-> user name :0 / user age =1 > 1, 0으로 순서 바꾸기 가능(인덱스)

  • 형식문자를 이용한 데이터 출력
    %s : 문자열
    %d : 정수
    %f : 실수
userName = 'hong gil dong'
userAge = 21

print('User Name : %s' % userName)
print('User Age : %d' % userAge)


print('User Name : %s, User Age : %d' % (userName, userAge))

pi = 3.14

print('pi : %f' % pi)
print('pi : %.1f' % pi)

print('pi : %d' % pi)
======================
User Name : hong gil dong
User Age : 21
User Name : hong gil dong, User Age : 21
pi : 3.140000
pi : 3.1
pi : 3
radius = float(input('반지름 입력 : '))
pi = float(input('원주율 입력 : '))


print('radius : %.1f' % radius)
print('pi : %.6f' % pi)


print('radius : %.1f, pi : %.6f' % (radius,pi))
print('radius : %.6f, pi : %.6f' % (radius,pi))
print('radius : %.2f, pi : %.2f' % (radius,pi))
============================================
반지름 입력 : 3
원주율 입력 : 3.141592
radius : 3.0
pi : 3.141592
radius : 3.0, pi : 3.141592
radius : 3.000000, pi : 3.141592
radius : 3.00, pi : 3.14

16_산술 연산자(덧셈, 뺄셈)

연산자

연산자 종류

  • 산술 : + - * / %(나머지) //(몫) **(거듭제곱승)
  • 할당 : = += -= *= /= %= //=
  • 비교 : > >= < <= ==(같다) !=(같지않다)
  • 논리 : and or not

덧셈 연산자

  • 정수,실수, 정수+실수, 문자 가능( 단, 숫자 + 문자는 불가능)
kor = int(input('국어 점수 : '))
eng = int(input('영어 점수 : '))
mat = int(input('수학 점수 : '))

total = kor + eng +mat
print(f'국어 점수 %d' % kor )
print(f'영어 점수 %d' % eng )
print(f'수학 점수 %d' % mat )
print(f'합계 %d' % total )
================================
국어 점수 : 85
영어 점수 : 90
수학 점수 : 95
국어 점수 85
영어 점수 90
수학 점수 95
합계 270

뺄셈 연산자

  • 정수,실수, 정수+실수능( 단, 문자는 불가능)
partTimeMoney = int(input('알바비 입력 : '))
cardMoney = int(input('카드값 : '))

result = partTimeMoney - cardMoney

print(f'partTimeMoney : %d원' % partTimeMoney)
print(f'cardMoney : %d원' % cardMoney)
print(f'남은돈 : %d원' % result)
=====================================================
알바비 입력 : 800000
카드값 : 453000
partTimeMoney : 800000원
cardMoney : 453000원
남은돈 : 347000원

17_산술 연산자(곱셈과 나눗셈)

곱셈 연산자

  • 숫자(정수, 실수), 문자 가능

나눗셈 연산자

  • 숫자(저수, 실수) 가능
  • 나눗셈 결고는 항상 float이다.
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

18_산술 연산자(나머지와 몫)

나머지 연산자

나눗셈 결과 나머지만 구함

allStuCnt = int(input('전체 학생 수 : '))
stuCntGroup = int(input('한 모둠 학생 수 : '))
group = allStuCnt // stuCntGroup
overStu = allStuCnt % stuCntGroup

print('전체 학생 수 : {}'. format(allStuCnt))
print('한 모둠 학생 수 : %d' % stuCntGroup)
print('모둠 수 : {}'.format(group))
print('남는 학생 수 : %d' % overStu)
=========================================
전체 학생 수 : 25
한 모둠 학생 수 : 4
전체 학생 수 : 25
한 모둠 학생 수 : 4
모둠 수 : 6
남는 학생 수 : 1
allStuCnt = int(input('전체 학생 수 : '))
stuCntGroup = int(input('한 모둠 학생 수 : '))

result = divmod(allStuCnt, stuCntGroup)

print('전체 학생 수 : {}'. format(allStuCnt))
print('한 모둠 학생 수 : %d' % stuCntGroup)
print('모둠 수 : {}'.format(result[0]))
print('남는 학생 수 : %d' % result[1])
=============================================
전체 학생 수 : 25
한 모둠 학생 수 : 4
전체 학생 수 : 25
한 모둠 학생 수 : 4
모둠 수 : 6
남는 학생 수 : 1
employee = 123
apple = 4
result = divmod(employee, apple)

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

19_산술 연산자(거듭제곱)

제곱근 구하기

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

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

sqrt()함수를 이용한 제곱근 구하기
-> 항상 제곱근만 구할 수 있음! so, 3, 4제곱근 구하려면 n**(1/m)공식 사용

pow()함수는 거듭제곱 구하기

20_복합연산자

= > 할당(대입) 연산자
num1 = num1 + 5 : num1 += 5
num1 = num1 - 5 : num1 -= 5

rainAmount = 0
totalRainAmount = 0

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

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

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

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

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

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

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

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

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

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

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

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

print('-' * 30)
print('연간 누적 강수량 : {}mm'.format(totalRainAmount))
print('연간 평균 강수량 : {}mm'.format(totalRainAmount / 12))
print('-' * 30)
===================================================================
1월 누적 강수량 : 30
2월 누적 강수량 : 75
3월 누적 강수량 : 122
4월 누적 강수량 : 177
5월 누적 강수량 : 242
6월 누적 강수량 : 342
7월 누적 강수량 : 470
8월 누적 강수량 : 679
9월 누적 강수량 : 883
10월 누적 강수량 : 1069
11월 누적 강수량 : 1136
12월 누적 강수량 : 1161
------------------------------
연간 누적 강수량 : 1161mm
연간 평균 강수량 : 96.75mm
------------------------------

21_비교 연산자(숫자 비교)

숫자 비교

-> 모든 연산 결과는 bool(True, False)다.

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)))
=======================================================================
첫 번째 숫자 입력 : 55
두 번째 숫자 입력 : 25
55 > 25 : True
55 >= 25 : True
55 < 25 : False
55 <= 25 : False
55 == 25 : False
55 != 25 : True
maxLength = 5200
maxWidth = 1985

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

print('전장 가능 여부 : {}'.format(myCarLength <= maxLength))
print('전폭 가능 여부 : {}'.format(myWidth <= maxWidth))
===============================================================
전장 길이 입력 : 5201
전폭 길이 입력 : 1985
전장 가능 여부 : False
전폭 가능 여부 : True

22_비교 연산자(문자 비교)

문자비교

-> 아스키 코드를 이용한 비교연산
-> 문자와 아스키코드 변환 > ord('a') / chr(65)
-> 문자열 비교 : 문자열 자체를 비교( 한글자라도 틀리면 틀림) 크다,작다 안됨

23_논리 연산자

-> 논리 연산자란 피연산자의 논리(True,False)를 이용한 연산 (and, or, not)
-> and 연산 : 모두 True여야 함
-> or 연산 : 둘 중 하나만 True면 됨
-> not A 연산 : A의 상태를 부정 > A가 True면 False가 됨

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

24_operator 모듈

-> 모듈이란, 누군가 이미 만들어 놓은 훌륭한 기능(무료 사용 가능)
-> operator 모듈 : 산술/비교/논리 연산자 관련 함수

이 글은 제로베이스 데이터 분석 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

0개의 댓글