[4일차] 파이썬 기초문풀 1~2(데이터와 변수)

하은·2023년 10월 17일
0

파이썬 개요 및 기본 사용방법

- 파이썬 개요 및 설치

1. 파이썬 언어를 만든 사람은 ?

  • 귀도 반 로섬(네덜란드, 1991, 개인사용목적 -> 구글)

2. 파이썬의 특징이 아닌 것은?

(1) 문법구조가 쉬워 비전공자도 쉽게 배울 수 있다.
V (2) 언어는 뛰어나지만 모듈(라이브러리)이 거의 없어 개발시간이 오래 걸린다.
-> 모듈(누가 만들어놓은 기능)이 많아 시간단축가능
(3) 무한정수를 처리할 수 있다. 메모리 허용하는 한 무한. 과학분야에서 많이 쓰임
(4) 온라인상에 커뮤니티가 잘 형성돼있어 많은 정보를 얻을 수 있다.

3. 파이썬 설치 순서

  • (1) Add python 3.9 to PATH
    (2) Install Now

4. 명령 프롬프트를 이용해서 python 설치 유/무를 확인하자

  • window - cmd - 'python' 입력 - 설치버전과 '>>>' 확인

5. 파이썬 셸(shell)을 이용해서 다음 내용을 출력하자

파이썬 셸 = 간단한 프로그래밍, 코드 테스트
코드 에디터 = 프로그램 제작

6. 파이썬 코드 편집기를 이용해서 오늘 날짜와 시간을 출력하는 프로그램을 만들자


코드 편집기는 '저장'하고 입력 후, F5눌러서 출력해야함


PyCharm 설치 및 기본사용방법

- PyCharm 설치 및 환경설정

1. PyCharm에 대한 설명으로 옳은 것은?

1) 훌륭한 코딩툴이지만 고가의 프로그램
-> 무료
v 2) JetBrains에서 만들었으며, 누구나 무료로 이용할 수 있다.
3) PyCharm을 설치하면 python을 설치하지 않아도 된다.
-> 파이썬 선 설치후 PyCharm 설치해야함. 파이썬 = 엔진, PyCharm = 엔진 사용 툴
4) PyCharm을 이용해 코딩은 할 수 있으나 파일저장 안 됨
-> 통합개발환경툴. 코딩, 디버깅, 저장, 실행 다 할 수 있음

2. PyCharm을 이용해서 출력해보자

print(40)
print('Hello PyCharm')
print('오늘 날씨는 매우 좋습니다.')

3. 날짜와 시간을 출력해보자

import datetime

today = datetime.datetime.today()
print(today)

-->
오늘 날씨는 매우 좋습니다.
2023-10-17 17:41:12.312343

데이터와 변수

- 데이터와 변수 사용법

1. '주문확인서' 템플릿을 만들고, 변경되는 정보만 입력하면 '주문확인서'가 완성되도록 프로그램을 만들자

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
--------------------------------------------------
저의 사이트를 이용해주셔서 감사합니다.

2. 사용자가 입력한 데이터의 길이를 출력하는 프로그램을 만들어보자

TIP: len() = 문자길이를 반환함

userMsg = input('메시지 입력: ')
print('메시지 문자열 길이 : {}'.format(len(userMsg)))

3. 다음 문장에서 '객체지향' 문자열을 찾아보자

TIP: find() = 특정 문자열의 위치를 찾아 반환함

article = '파이썬(영어: Python)은 1991년 네덜란드계 소프트웨어 엔지니어인' \
          '귀도 반 로섬[4]이 발표한 고급 프로그래밍 언어로,' \
          '인터프리터를 사용하는 객체지향 언어이자 플랫폼에 독립적인,' \
          '동적 타이핑(dynamically typed) 대화형 언어이다.'
strIdx = article.find('객체지향')
print('\'객체지향\' 문자열 위치 : {}'.format(strIdx))

-->
'객체지향' 문자열 위치 : 81

4. 사용자가 입력한 데이터를 모두 실수로 변경 후 삼각형, 사각형의 넓이를 출력해보자

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
-------------------------

5. 원의 반지름을 입력하면 원의 넓이, 둘레길이를 출력해보자.

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

6. 사용자로부터 입력받은 개인정보를 포맷문자열을 이용해서 다음과 같이 출력하자

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
-------------------------

7. 체중과 신장을 입력하면 BMI지수가 출력되는 프로그램을 만들어보자

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

8. 다음 코드에서 num1과 num2의 값을 서로 바꾸고 각각 출력해보자

num1 = 10
num2 = 20

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

tempNum = num1
num1 = num2
num2 = tempNum

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

9. 중간, 기말고사 점수를 입력하면 총점과 평균이 출력되는 프로그램을 만들어보자

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

10. 키오스크에서 사용하는 언어선택 프로그램을 만들어보자

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)

11. 나의 나이가 100살 되는 해의 연도를 구하는 프로그램을 만들어보자

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살

0개의 댓글