Python 실습 (PyCharm 설치, 데이터 및 변수, 연산자)

dumbbelldore·2024년 11월 4일
0

zero-base 33기

목록 보기
4/97

1. PyCharm 설치 및 환경설정

  • Jetbrains社에서 개발한 Python을 위한 IDE 프로그램으로, 누구나 무료로 이용할 수 있음
  • PyCharm 설치 시 별도로 Python을 설치할 필요가 없음
  • 환경설정 메뉴를 통해 테마나 폰트를 자유롭게 커스터마이징 할 수 있음
# 오늘 날짜 출력해보기
import datetime
today = datetime.datetime.today()
print(today) # 2024-11-04 10:49:56.428733

2. 데이터와 변수

  • len(): 문자 길이를 반환함
  • find(): 특정 문자열의 길이를 찾아 반환함
  • isdigit(): 해당 문자열이 숫자인지 확인하여 숫자이면 True, 숫자가 아니면 False 반환
my_string = 'Hello Python!'
print(len(my_string)) # 13
print(my_string.find('P')) # 6

my_num = 'I am 7 years old'
print(my_num[5].isdigit()) # True

3. 거스름돈 계산 프로그램

  • Q: 상품 가격과 지불 금액을 입력하면 거스름 돈을 계산하는 프로그램을 만드시오. 단, 거스름 돈은 지폐와 동전의 개수를 최소로 하고, 1원단위 절사한다.
  • (지폐 및 동전 구성) 50,000원, 10,000원, 5,000원, 1,000원, 500원, 100원, 10원
# 금액 변수 선언부
money_50000 = 50000
money_10000 = 10000
money_5000 = 5000
money_1000 = 1000
money_500 = 500
money_100 = 100
money_10 = 10

# 수량 변수 선언부
qty_50000 = 0
qty_10000 = 0
qty_5000 = 0
qty_1000 = 0
qty_500 = 0
qty_100 = 0
qty_10 = 0

# 입력값 선언부
price = int(input("상품 가격: "))
pay = int(input("지불 금액: "))

# 동작부
# 거스름돈 총액 계산
if pay > price:
    change = pay - price

# 50,000원권 계산
if change >= money_50000:
    qty_50000 = change // money_50000
    change %= money_50000
    
# 10,000원권 계산
if change >= money_10000:
    qty_10000 = change // money_10000
    change %= money_10000

# 5,000원권 계산
if change >= money_5000:
    qty_5000 = change // money_5000
    change %= money_5000

# 1,000원권 계산
if change >= money_1000:
    qty_1000 = change // money_1000
    change %= money_1000

# 500원 동전 계산
if change >= money_500:
    qty_500 = change // money_500
    change %= money_500

# 100원 동전 계산
if change >= money_100:
    qty_100 = change // money_100
    change %= money_100
        
# 10원 동전 계산
if change >= money_10:
    qty_10 = change // money_10
    change %= money_10      

# 출력부
print("-"*30)
print("50,000원: {}장".format(qty_50000))
print("10,000원: {}장".format(qty_10000))
print("5,000원: {}장".format(qty_5000))
print("1,000원: {}장".format(qty_1000))
print("500원: {}장".format(qty_500))
print("100원: {}장".format(qty_100))
print("10원: {}장".format(qty_10))
print("-"*30)

# 출력예시
# 상품 가격: 54530
# 지불 금액: 60000
# ------------------------------
# 50,000원: 0장
# 10,000원: 0장
# 5,000원: 1장
# 1,000원: 0장
# 500원: 0장
# 100원: 4장
# 10원: 7장
# ------------------------------

4. 초 환산 프로그램

  • Q: 시, 분, 초를 입력하면 초로 환산하는 프로그램을 만드시오
# 변수 선언부
_hour = 0
_min = 0
_sec = 0
output = 0

# 입력부
_hour = int(input("시간을 입력하세요: "))
_min = int(input("분을 입력하세요: "))
_sec = int(input("초를 입력하세요: "))

# 동작부
output = (_hour * 60 * 60) + (_min * 60) + _sec

# 출력부
print("초로 환산된 값은 '{:,d}'초 입니다.".format(output))

# 출력예시
# 시간을 입력하세요: 6
# 분을 입력하세요: 48
# 초를 입력하세요: 59
# 초로 환산된 값은 '24,539'초 입니다.

5. 온도 계산 프로그램

  • Q: 고도가 60m 올라갈 때마다 기온이 0.8도 내려간다. 고도를 입력하였을 때 기온이 출력되는 프로그램을 만드시오. (단, 지면의 온도는 29도로 가정한다.)
# 변수 선언부
base_temp = 29

# 입력부
altitude = int(input("고도(m)를 입력하세요: "))

# 동작부
output = base_temp - (altitude//60) * 0.8

# 출력부
print("{0:,d} 고도(m)의 온도는 {1:.2f}도 입니다.".format(altitude, output))

# 출력예시
# 고도(m)를 입력하세요: 1800
# 1,800 고도(m)의 온도는 5.00도 입니다.

6. 빵, 유우 배분 프로그램

  • Q: 197개의 빵과 152개의 우유를 17명의 학생에게 동일하게 나눠준다고 할 때 한 명의 학생이 받게 되는 빵의 갯수, 우유의 갯수, 남는 빵의 갯수, 남는 우유의 갯수를 구하시오.
# 변수 선언부
tot_bread = 197
tot_milk = 152
tot_stdnt = 17

# 동작부
quota_bread = tot_bread // tot_stdnt
remain_bread = tot_bread % tot_stdnt
quota_milk = tot_milk // tot_stdnt
remain_milk = tot_milk % tot_stdnt

# 출력부
print(f"인당 배분 빵: {quota_bread}개")
print(f"인당 배분 우유: {quota_milk}개")
print(f"남는 빵: {remain_bread}개")
print(f"남는 우유: {remain_milk}개")

# 출력예시
# 인당 배분 빵: 11개
# 인당 배분 우유: 8개
# 남는 빵: 10개
# 남는 우유: 16개

7. 접종대상자 구분 프로그램

  • Q: 19세 이하 또는 65세 이상이면 출생연도 끝자리에 따른 5부제 접종일정('목요일 접종 가능'), 그렇지 않으면 '하반기 일정 확인'을 출력하는 프로그램을 만드시오. 단, 출생연도 끝자리가 1인 경우 월요일에 접종 가능하다.
# 변수 선언부
idx = 0
day = ['금요일','월요일', '화요일',
       '수요일','목요일']

# 동작부
age = int(input("나이를 입력하세요: "))
yr_se = int(input("출생연도 끝자리를 입력하세요(0~9): "))
assert yr_se >= 0 and yr_se <= 9, "올바른 입력이 아닙니다."

# 출력부
if (age <= 19) or (age >= 65):
    idx = yr_se % 5
    print("{} 접종 가능".format(day[idx]))
    
else:
    print("하반기 일정 확인")
    
# 출력예시
# 나이를 입력하세요: 13
# 출생연도 끝자리를 입력하세요(0~9): 0
# 금요일 접종 가능

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

profile
데이터 분석, 데이터 사이언스 학습 저장소

0개의 댓글