생각하는 감쟈

[Python] 주말 코딩 연습 본문

Language/Python

[Python] 주말 코딩 연습

생각하는 감쟈🥔 2023. 3. 20. 11:20

 

코딩 드럽게 못하는 코린이는

바짓가랑이라도 잡고 열심히

연습해야한답니다

 

 

 

 

 

Chapter 02 기본 문법

 

'''
c2-1 연월일 사이에 '입력
'''

year = input("년은 ?")
month = input("월은 ?")
day = input("일은 ?")

print(year, month, day, sep=".")
 
'''
c2-2 사각형의 둘레와 면적을 계산
'''

width = int(input("사각형의 너비는?"))
hight = int(input("사각형의 높이는?"))

lenght = 2 * width * hight
area = width * hight
print ("사각형의 넓이:%dcm" % width)
print ("사각형의 높이:%dcm" % hight)
print ("둘레길이 : %dcm" % lenght)
print ("면적 : %dcm2" % area)
 
'''
c2-3 원의 둘레와 면적
'''

r = float(input("반지름을 입력하세요 : "))

lenght = 2 * r * 3.14
area = r * r * 3.14

print ("반지름 : %.2f cm" %r)
print ("원의 둘레 : %.2f cm" %lenght)
print ("원의 면적 : %.2f cm" %area)
 
'''
c2-4 인치를 센티미터로 환산
'''

inch = float(input("인치는?"))
cm = inch * 2.54

print("%.2f inch => %.2f cm" % (inch, cm))
 
'''
c2-5 온라인 서점의 책 결제 금액을 계산
'''

price = int(input("책 값?"))
discount =int(input("할인율?"))
delivery =int(input("배송료 ?"))

pay = price - (price * (discount/100)) + delivery

print("책 값 : %d원 " %  price)
print("할인율 : %d " % discount)
print("배송료 : %d원 " % delivery)
print("결제 금액 : %d원 " % pay)
 

 


 

 

Chapter 03 조건문

 

'''
c3-1 특정범위에 있는 수가 맞나 판정
'''

start = int(input("시작 수는?"))
end = int(input("끝 수는?"))
num = int(input("정수를 입력하세요?"))

result = "%d는 %d~%d 사이에 없다." %(num,start,end)

if num >= start and num <= end:
    result = "%d는 %d~%d 사이에 있다." %(num,start,end)

print(result)
 
'''
c3-2 월을 입력 받아 계절을 판별하라


월을 입력 받아 봄, 여름, 가을 ,겨울 중 어느 계절인지 판별하는 프로그램
봄(3,4,5) 여름(6,7,8) 가을(9,10,11) 겨울(12,1,2)
'''

month = input("월을 숫자로 입력하세요 : ")

#봄
if month == "3" or month == "4" or  month == "5" :
    print("%s월은 봄 입니다" % month)

#여름
if month == "6" or month == "6" or  month == "8" :
    print("%s월은 여름 입니다" % month)

#가을
if month == "9" or month == "10" or  month == "11" :
    print("%s월은 가을 입니다" % month)

#겨울
if month == "12" or month == "1" or  month == "2" :
    print("%s월은 겨울 입니다" % month)
 
'''
c3-3 주민번호로 남/여 판정

주민번호 뒷 자리 첫 번째 숫자를 입력받아 남/여 판정하는 프로그램
남성(1,3) 여성(2,4)
'''

a = input("주민번번호 뒷자리 첫번째 숫자를 입력해 주세여: ")

if a == "1" or a == "3":  
    print("남성입니다")

if a == "2" or a == "4":  
    print("여성입니다")
 
'''
c3-4 영문 대소문자를 입려받아 자음/모음 판별하는 프로그램
'''

char = input("영문 대문자 또는 소문자 하나를 입력하세요: ")
char2 = char.upper() 

if char2 == "A" or char2 == "E" or char2 == "I" \
   or char2 == "O" or char2 == "U" :
    print("%s 는 모음" % char)
else :
    print("%s 는 자음" % char)
 
'''
c3-5 다이어트 필요성을 판정하라


키와 몸무게를 입력 받아 다이어트의 필요성을 판정하는 프로그램
몸무게가 판단 기준보다 크면 다이어트가 필요
판단 기준 : (키-100) * 0.9
'''

height = int(input("키는? "))
weight = int(input("몸무게는? "))

s = (height-100) * 0.9

print("=" * 50)
print("키 : ", height)
print("몸무게 : ", weight)

if weight > s:
    print("건강을 위해 다이어트가 필요합니다")
else :
    print("표준 또는 마른 체형입니다")
 
'''
c3-6 아르바이트 급여 계산
'''

print("아르바이트 급여 계산 프로그램")
print("※시급")
print("-주간 근무 : 9500원")
print("-야간 근무 : 주간시급 * 1.5")
print()

hour_pay = 9500

a = int(input("1(주간 근무)또는 2(야간근무)을 입력해주세여 : "))
work_time = int(input("근무시간을 입력해주세요 : "))

if a ==1 :
    day_night = "주간"
    pay = hour_pay * work_time
else:
    day_night = "야간"
    pay = hour_pay * work_time * 1.5

print("%d시간 동안 일한 %s 급여는 %.0f원 입니다." %(work_time,day_night,pay))
 
'''
c3-7 할인율에 따라 지불 금액을 계산
'''

spend = int(input("구매 금액? "))

if spend >= 10000 and spend <50000 :
    rate = 0.5

elif spend >= 50000 and spend <300000 :
    rate = 7.5
elif spend <= 300000 :
    rate = 10.0
else :
    rate = 0

discount = spend * rate / 100
pay = spend - discount

print("구매금액 : %.0f" % spend)
print("할인율 : %.1f" % rate)
print("할인 금액 : %.0f" % discount)
print("지불 금액 : %.0f" % pay)
 
'''
c3-8 서비스 만족도에 따라 팁 계산

음식점 서비스 만족도에 따라 팁을 계산하는 프로그램
팁 - 매우 만족 : 음식 값 20%, 만족 : 음식 값 10%, 불만족: 0%
'''

print("서비스 만족도")
print("1 : 매우만족")
print("2 : 만족")
print("3 : 물만족")

a = input("서비스 만족도는? (1,2,3)")
price = int(input("음식 값은? "))

if a == "1":
    tip = int(price * 0.2)
    service = "메우 만족"
elif a == "2":
    tip = int(price * 0.1)
    service = "만족"
else :
    tip = ()
    service = "불만족"

print()
print("서비스 만족도 : %s, 팁 : %d원" % (service, tip))
 
'''
c3-9 세 정수 중 가장 큰 수를 찾아라
'''

num1 =int(input("첫번째 정수는 ?"))
num2 =int(input("두번째 정수는 ?"))
num3 =int(input("세번째 정수는 ?"))

if num1 > num2 and num1 > num3 :
    largest = num1
elif num2 > num1 and num2 > num3 :
    largest = num2
else:
    largest = num3

print ("%d, %d, %d 중에서 가장 큰수는 %d 입니다." % (num1, num2, num3, largest))
 
'''
c3-10 웹 사이트 콘텐츠 이용 가능 여부 판단

웹 사이트 아이디와 회원 레벨에 따라 콘텐츠 이용 가능 여부 판정하는 프로그램
단, 아이디가 'admin'이면 이용 가능 메시지 출력, 아닐 경우 회원 레벨 1~3이면 이용 가능 아니면 사용 불가
'''

userid = input(" id? ")

if userid == admin :
    print("콘텐츠 이용이 가능합니다")
else :
    level = int(input("회원 레벨은?(1~9)"))


if level >= 1 and level <= 3:
    print("콘텐츠 이용이 가능합니다")
else :
    print("콘텐츠 이용할 수 없습니다")
 
'''
c3-11온도에 따라 물의 상태를 판별

물의 온도와 단위(섭씨, 화씨)를 입력받아 물의 상태를 판별하는 프로그램
단위로 화씨 입력되었을 시 변환하여 물의 상태를 판별
화씨 계산 : (화씨온도-32) * 5 / 9
'''

unit = input("단위를 입력해 주세요(1:섭씨 2:화씨): ")
temp = int(input("온도를 입력해 주세요 : "))

if unit == "2" :
    temp = (temp - 32) + 5 / 9

    elif temp <= 0:
        state = "고체"
    elif temp < 100:
        state = "액체"
else :
    state = "기체"

print("물의 섭씨 온도 : %.1f도, 상태 : %s" % (temp, state))
 

 


 

 

Chapter 04 반복문

 

'''
c4-1 for문으로 5의 배수가 아닌 수를 출력
'''

count = 0

for i in range(200,801):
    if i % 5 != 0:
        print("%d" %i, end=" ")
        count = count + 1

        if(count % 10 ==0):
            print()
 
'''
c4-2 for문으로 길이 환산표를 만들어라
'''

print("-"*40)
print(" cm  mm  m  inch ")
print("-"*40)

for cm in range(1, 101):
    mm = cm *10.0
    m = cm * 0.01
    inch = cm * 0.3937
    print("%d %.0f %.2f %7.1f" %(cm,mm,m,inch))

print("-"*40)
 
'''
c4-3 for문으로 별표 트리를 만들어라
'''

for i in range(1, 11):
    print("*" * i, end=" ")
    print()
 
'''
c4-4 트리 모양 변경
'''

for i in range(10):
    print("*" * (10-i), end=" ")
    print()
 
'''
c4-5 for문으로 홀수의 개수를 카운트
'''

number = input("숫자를 입력하세여 : ")

total = 0

for a in number:
    a = int(a)
    if a %2 == 1 :
        total = total + 1

print("홀수의 개수 : %d개" %total)
 
'''
c4-6 for문 으로 무게 단위 환산표
'''

print("-" * 50)
print("%s %s %s" % ("킬로그램","파운드", "온스"))
print("-" * 50)

for kg in range(100,201,2):
    pound = kg * 2.204623
    ounce = kg * 35.273962
    print("%d %.1f %.1f" %(kg, pound, ounce))

print("-" * 50)
 
'''
c4-7 이중 for문으로 사각형 형태를 만들어라
'''

for i in range(5):
    for j in range(10):
        print("*", end=" ")
    print()
 
'''
c4-8 이중 for문으로 역삼각형 형태의 숫자
'''

for i in range(9,0,-1):
    for j in range(i):
        print(i, end=" ")
    print()
 
'''
c4-9 while문으로 홀수의 누적 합계
'''

n = 1
sum = 0
count = 0

while n <= 100:
    if n%2 == 1:
        sum = sum + n
        print("%d" % sum, end="" )
        count = count + count

        if count%10 == 0:
            print()
    n = n + 1
 
'''
c4-10 while문으로 통화 환산표
'''

print("-"*30)
print(" 달러 원화 유로")
print("-"*30)

dollar = 10

while dollar <= 100:
    won = dollar * 1080
    euro = dollar * 0.81

    print("%d %.0f %.1f" % (dollar, won, euro))

    dollar = dollar + 10
print("-"*30)
 
'''
c4-11 while문으로 영어 분장을 역순으로 출력
'''

sentence = input("문장을 입력해 주세여 : ")

i = len(sentence) - 1

while i >= 0:
    if sentence[i] == " " :
        print("-", end="")
    else:
        print("%s" % sentence[i], end="")

    i = i - 1
 

 

 


 

 

Chapter 05 리스트

 

'''
c5-1  1~20의 양의 정수 리스트를 생성
'''

data = list(range(1,21))

for i in range(0,len(data)):
    print("%d" %data[i], end=" ")
 
'''
c5-2 ~ 3
짝수번째 요소를 출력 / 홀수번쨰 요소를 출력
'''

data = list(range(1,21))

for i in range(0, len(data)):
    if (i+1)%2 == 0:
        print("%d" %data[i], end=" ")
        
print()

data = list(range(1,21))
i = 0

while i < len(data):
    if (i+1)%2 == 1:
        print("%d" %data[i], end=" ")
    i = i+1
 
'''
ch5-4 빈리스트에 요소를 추가
'''

data = []

for x in range(10,21):
    data.append(x)
print(data)
 
'''
c5-5 리스트로 영어 스펠링 퀴즈를 만들어라
'''
questions = ["s_chool","compu_er","deco_ation","windo_","hi_tory"]
answers = ["c","t","r","w","s"]

for i in range(len(questions)):
    q = ("%s : 밑줄에 들어갈 알파벳?" %questions[i])
    guess = input(q)

    if guess == answers[i]:
        print("정답")
    else:
        print("틀렸어요")
 
'''
c5-6 리스트로 성적 합계와 평균을 구하라
'''
scores = []

while True:
    x = int(input("성적을 입력하세요(종료시 -1 입력): "))

    if x == -1:
        break
    else:
        scores.append(x)

    sum = 0
    for score in scores:
        sum = sum + score

    avg = sum / len(scores)
print("합계 : %d, 평균 : %.2f" % (sum, avg))
 
'''
c5-7 리스트로 수우미양가 개수를 카운트
'''

s = [64,89100,85,77,58,79,67,96,87,87,36,82,98,84,76,63,69,53,22]

soo = 0
woo = 0
mi = 0
yang = 0
ga = 0

i = 0
while i < len(s):
    if s[i] >= 90 and s[i] <=100 :
        soo = soo + 1
        
    if s[i] >= 80 and s[i] <=89 :
        woo = woo + 1

    if s[i] >= 70 and s[i] <=79 :
        mi = mi + 1

    if s[i] >= 60 and s[i] <=69 :
        yang = yang + 1

    if s[i] >= 0 and s[i] <=59 :
        ga = ga + 1

    i = i + 1

print("수 : % d명" % soo)
print("우 : % d명" % woo)
print("미 : % d명" % mi)
print("양 : % d명" % yang)
print("가 : % d명" % ga)
 
'''
c5-8 리스트로 영화관 예약 가능 좌석 표시
'''

seats = [[0,0,0,0,0,0,0,0,0,0],\
        [0,0,0,0,0,0,0,0,0,0],\
        [0,0,0,0,0,0,0,0,0,0],\
        [1,1,1,0,0,0,0,0,1,0],\
        [0,0,0,0,0,1,0,0,0,0],\
        [0,1,0,0,0,1,0,1,0,0],\
        [0,0,0,0,0,0,1,0,0,0],\
        [1,0,1,0,0,0,0,0,0,1]]

for i in range(len(seats)):
    for j in range(len(seats[i])):
        if seats[i][j] == 0:
            print("%s" % "□", end="")
        else:
            print("%s" % "■", end="")
    print()
 

 


 

 

Chapter 06 튜플과 딕셔너리

'''
c6-1 구구단 표 만들어라
'''

dans = (2,3,4,5,6,7,8,9)

print("구구단표")
print("="*30)

for dan in dans:
    print(str(dan)+"단")
    for i in range(1,10):
        print("%d x %d = %d" %(dan, i, dan*i))
    print("-"*30)
 
'''
딕셔너리를 이용해서 다섯 명 학생들에 대한 성적의 합계와 평균을 구하는 프로그램
'''

score = {"김채린":85, "박소정":98, "함소의":94, "안예린":90, "연수진":93}

sm = 0
for key in scores :
    sm = sm + scores[key] #키값을 줘야만 값이 나옴

    print("%s : %d" %(key, scores[key]))

avg = sm /len(scores)
print( "합계 : %d, 평균 : %.2f" %(sm, avg)

# for문을 사용하지 않고 딕셔너리의 총합과 평균구하기

sm = sum(scores.values())
avg = sm/len(scores)
print( "합계 : %d, 평균 : %.2f" %(sm, avg)
 
'''
c6-3 딕셔너리로 정보 접근 제어
'''

admin_info = {"id":"admin","password":"12345"}

input_id = input("아이디를 입력하세요")
input_pass = input("비밀번호를 입력하세요")

if imput_id == admin_info["id"] and imput_pass == admin_info["password"]:
    print("정보에 접근 권한이 있습니다!")
else:
    print("정보에 접근 권한이 없습니다...")
 
'''
딕셔너리를 이용하여 영어 단어 퀴즈를 만드는 프로그램
'''

words = {"꽃" : "flower", "나비" : "butterfly", "학교" : "school", \
         "자동차" : "car", "비행기" : "airplan"}

print("<영어 단어 맞추기 퀴즈")

for kor in words :
    input_word = input("'%s'에 해당되는 영어 단어를 입력해 주세요: " % kor)

    if input_word == words[kor]:
        print("정답입니다")
    else :
        print("틀렸습입니다")
 

 


 

Chapter 07 함수

 

'''
c7-1 함수와 매개변수로 두 수의 합을 구하라
'''

def add (a,b):
    c = a + b
    print("%d + %d =%d" %(a,b,c))

add(12, 15)
add(245, 300)
add(-38, -12)
 
'''
c7-2 함수와 매개변수로 정수 합게를 구하라
'''

def sum_int(start, end):
    total = 0
    for i in range(start,end+1):
        total = sum_int
    print("%d~%d 정수 합계 : %d" : % (start,end,total))

sum_int(20,50)
sum_int(600,800)
 
'''
c7-3 회원가입할 (가입자 수는 상관 없음 -> *args)를 입력하면 출력하는 프로그램
'''

def member_join(*args):
    result = ""
    for arg in args:
        result = result + arg + " "

        print("회원 가입: ", result)

    return result #리터처리가 있으면 이 함수를 가지고 매인로직이서 작업을 더 하겠다

my_m = member_join("pp", "kk")
print(my_m)
member_join("pp", "kk", "ii", "aa", "ww")
member_join("ss")
 
'''
c7-4 함수에서 리스트를 활용하여 프로그램을 작성하라
'''

def multiply(num,x):
    i = 0
    while i <len(num):
        num[i] = num[i] * x

        i = i + 1
numbers = [10,20,30,40,50]

multiply(numbers,10)
print(numbers)

multiply(numbers,10)
print(numbers)
 
'''
c7-5 함수로 삼각형 면적 계산
'''

def tri_area(w,h):
    result = w * h * 0.5
    retern result

width = int(input("너비를 입력하세요"))
heigth= int(input("높이를 입력하세요"))

print("-삼각형의 너비 :", width)
print("-삼각형의 높이 :", heigth)
print("-삼각형의 면적 :", tri_area(width,heigth)
 
'''
c7-6 함수로 배수의 합계를 구하라
'''
def sum_besu(n):
    sum = 0
    for i in range(1,100):
        in i%n == 0:
            sum =sum + i

    return sum

besu = int(input("구하고자 하는 배수를 입력하세요:"))
total = sum_besu(besu)
print("1~100 사이 %d의 배수의 합계 : %d" %(besu, total))
 
'''
c7-7 함수로 문장에 포함된 공백 카운트
'''

def count_space(a):
    count = 0

    for x in a :
        if x == "":
            count = count+1
        return count

sentence = "Python is easy and powerful."

print(sentence)
num_space = count_space(sentence)
print("-공백의 개수:", num_space)
 

 

 

 

#ABC부트캠프 #부트캠프 #유클리드소프트 #파이썬 #python

 

'Language > Python' 카테고리의 다른 글

[Python] 2-1) Jupyter 기초  (0) 2023.03.22
[Python] 타자 게임 만들기  (2) 2023.03.20
[Python] 4) 함수_모듈_파일  (0) 2023.03.19
[Python] 3) 리스트_튜플_딕셔너리  (2) 2023.03.17
[Python] 2) 조건문_반복문  (0) 2023.03.16
Comments