(1) 문법구조가 쉬워 비전공자도 쉽게 배울 수 있다.
V (2) 언어는 뛰어나지만 모듈(라이브러리)이 거의 없어 개발시간이 오래 걸린다.
-> 모듈(누가 만들어놓은 기능)이 많아 시간단축가능
(3) 무한정수를 처리할 수 있다. 메모리 허용하는 한 무한. 과학분야에서 많이 쓰임
(4) 온라인상에 커뮤니티가 잘 형성돼있어 많은 정보를 얻을 수 있다.
파이썬 셸 = 간단한 프로그래밍, 코드 테스트
코드 에디터 = 프로그램 제작
코드 편집기는 '저장'하고 입력 후, F5눌러서 출력해야함
1) 훌륭한 코딩툴이지만 고가의 프로그램
-> 무료
v 2) JetBrains에서 만들었으며, 누구나 무료로 이용할 수 있다.
3) PyCharm을 설치하면 python을 설치하지 않아도 된다.
-> 파이썬 선 설치후 PyCharm 설치해야함. 파이썬 = 엔진, PyCharm = 엔진 사용 툴
4) PyCharm을 이용해 코딩은 할 수 있으나 파일저장 안 됨
-> 통합개발환경툴. 코딩, 디버깅, 저장, 실행 다 할 수 있음
print(40)
print('Hello PyCharm')
print('오늘 날씨는 매우 좋습니다.')
import datetime
today = datetime.datetime.today()
print(today)
-->
오늘 날씨는 매우 좋습니다.
2023-10-17 17:41:12.312343
name = '홍길동'
product = '야구글러브'
orderNo = 2568956
payMethod = '신용카드'
productPrice = 110000
payPrice = 100000
usePoint = 10000
payDate = '2023/10/17 17:45:10'
payDiv = 6
payDivCategory = '무'
phone = '02-1234-5678'
print(name, '고객님 안녕하세요.')
print(name, '고객님의 주문이 완료되었습니다.')
print('다음은 주문건에 대한 상세 내역입니다.')
print('-' * 50)
print('상품명\t: ', product)
print('주문번호\t: ', orderNo)
print('결제방법\t: ', payMethod)
print('상품금액\t: ', productPrice)
print('결재금액\t: ', payPrice)
print('포인트\t: ', usePoint)
print('결제일시\t: ', payDate)
print('할부\t\t: ', payDiv)
print('할부유형\t: ', payDivCategory)
print('문의\t\t: ', phone)
print('-' * 50)
print('저의 사이트를 이용해주셔서 감사합니다.')
-->
홍길동 고객님 안녕하세요.
홍길동 고객님의 주문이 완료되었습니다.
다음은 주문건에 대한 상세 내역입니다.
--------------------------------------------------
상품명 : 야구글러브
주문번호 : 2568956
결제방법 : 신용카드
상품금액 : 110000
결재금액 : 100000
포인트 : 10000
결제일시 : 2023/10/17 17:45:10
할부 : 6
할부유형 : 무
문의 : 02-1234-5678
--------------------------------------------------
저의 사이트를 이용해주셔서 감사합니다.
TIP: len() = 문자길이를 반환함
userMsg = input('메시지 입력: ')
print('메시지 문자열 길이 : {}'.format(len(userMsg)))
TIP: find() = 특정 문자열의 위치를 찾아 반환함
article = '파이썬(영어: Python)은 1991년 네덜란드계 소프트웨어 엔지니어인' \
'귀도 반 로섬[4]이 발표한 고급 프로그래밍 언어로,' \
'인터프리터를 사용하는 객체지향 언어이자 플랫폼에 독립적인,' \
'동적 타이핑(dynamically typed) 대화형 언어이다.'
strIdx = article.find('객체지향')
print('\'객체지향\' 문자열 위치 : {}'.format(strIdx))
-->
'객체지향' 문자열 위치 : 81
triangleArea = width * height / 2
squareArea = width * height
print('-' * 25)
print('삼각형 넓이 : %f' % triangleArea)
print('사각형 넓이 : %f' % squareArea)
print('삼각형 넓이 : %.2f' % triangleArea)
print('사각형 넓이 : %.2f' % squareArea)
print('-' * 25)
-->
가로 길이 입력: 10
세로 길이 입력: 5
-------------------------
삼각형 넓이 : 25.000000
사각형 넓이 : 50.000000
삼각형 넓이 : 25.00
사각형 넓이 : 50.00
-------------------------
pi = 3.14
radius = float(input('반지름(cm) 입력: '))
circleArea = pi * radius * radius
circleLength = 2 * pi * radius
print('원의 넓이\t\t: %d' % circleArea) # %d = 정수
print('원의 둘레길이\t: %d' % circleLength)
print('원의 넓이\t\t: %.1f' % circleArea) # %d = 정수
print('원의 둘레길이\t: %.1f' % circleLength)
print('원의 넓이\t\t: %.3f' % circleArea) # %d = 정수
print('원의 둘레길이\t: %.3f' % circleLength)
-->
반지름(cm) 입력: 3
원의 넓이 : 28
원의 둘레길이 : 18
원의 넓이 : 28.3
원의 둘레길이 : 18.8
원의 넓이 : 28.260
원의 둘레길이 : 18.840
TIP: len() = 문자길이를 반환함
TIP: str[0] = str에 저장된 문자열에서 첫 번째 문자를 반환함
name = input('이름 입력: ')
mail = input('메일 입력: ')
id = input('아이디 입력: ')
pw = input('비번 입력: ')
privateN1 = input('주민번호 앞자리 입력: ')
privateN2 = input('주민번호 뒷자리: ')
address = input('주소 입력: ')
print('-' * 25)
print(f'이름 : {name}')
print(f'메일 : {mail}')
print(f'아이디 : {id}')
pwStar = '*' * len(pw)
print(f'비밀번호 : {pwStar}')
privateNS = privateN2[0] + ('*' * 6 ) # 뒷자리 하나는 나와야함
print(f'주민번호 : {privateN1} - {privateN2}')
print(f'주소 : {address}')
print('-' * 25)
-->
-------------------------
이름 : 홍길동
메일 : asdf@naver.com
아이디 : haeun71
비밀번호 : *********
주민번호 : 991234 - 2******
주소 : seoul
-------------------------
TIP: isdigit() = 숫자인지 확인(숫자이면 True, 아니면 False)
# BMI = 몸무게(kg) / (신장(m) * 신장(m))
weight = input('체중 입력(g): ')
height = input('신장 입력(cm): ')
if weight.isdigit():
weight = int(weight) / 10 # g를 kg로 바꾸고자
if height.isdigit():
height = int(height) / 100 # cm 를 m로 바꾸고자
print('체중 : {}kg'.format(weight))
print('신장 : {}m'.format(height))
bmi = weight / (height * height)
print('BMI : %.2f' % bmi)
-->
체중 입력(g): 450
신장 입력(cm): 160
체중 : 45.0kg
신장 : 1.6m
BMI : 17.58
num1 = 10
num2 = 20
print('num1: {}, num2: {}'.format(num1, num2))
tempNum = num1
num1 = num2
num2 = tempNum
print('num1: {}, num2: {}'.format(num1, num2))
score1 = input('중간고사 점수: ')
score2 = input('기말고사 점수: ')
if score1.isdigit() and score2.isdigit():
score1 = int(score1)
score2 = int(score2)
totalScore = score1 + score2
avgScore = totalScore / 2
print('총점: {}, 평균: {}'.format(totalScore, avgScore))
else:
print('잘못 입력했습니다.')
-->
중간고사 점수: 100
기말고사 점수: 50
총점: 150, 평균: 75.0
selectN = input('언어 선택(Choose your language): 1.한국어 \t 2.English')
if selectN == '1':
menu = '1.샌드위치 \t 2.햄버거 \t 3.쥬스 \t 4.커피 \t 5.아이스크림'
elif selectN == '2':
menu = '1.Sandwich \t 2.Hamburgur \t 3.Juice \t 4.Coffee \t 5.Ice cream'
print(menu)
import datetime
today = datetime.datetime.today()
age = input('나이 입력: ')
if age.isdigit():
afterAge = 100 - int(age)
myHundred = today.year + afterAge
print('{}년({}년후)에 100살'.format(myHundred, afterAge))
else:
print('잘못 입력했습니다.')
-->
나이 입력: 25
2098년(75년후)에 100살