학교 수업/1-1, 1-2 코딩 기초 (파이썬, C)

[두근두근 파이썬 7장] 실습 7주차

70825 2020. 5. 3. 16:13
반응형

컴퓨팅적 사고와 문제 해결 4월 28일 실습과제(두근두근 파이썬 7장 + 실습문제)

 

 

 

연습문제 4

 

def draw_line():
    turtle.forward(100) #거북이를 앞으로 100 이동하게한다.
    turtle.backward(100) #거북이를 뒤로 100 이동하게한다.

import turtle
t=turtle.Turtle()
t.shape("turtle")
for i in range(12): #밑의 과정을 12번 반복한다.
    draw_line() #draw_line함수를 호출한다.
    turtle.left(30) #t를 왼쪽으로 30도 회전한다.

 

 

 

연습문제 6

 

def plus():
    x = input("첫 번째 정수: ") #x에 값을 문자로 저장
    y = input("두 번째 정수: ") #y에 값을 문자로 저장
    print("정수"+x+"+"+y+"의 합은?")
    print(int(x)+int(y))#x와 y를 int형으로 바꾼 후 출력
plus() #plus함수 호출

 

 

 

연습문제 7

 

def circleArea(radius):
    print("반지름이 "+str(radius)+"인 원의 면적:",PI*radius*radius)
def circleCircumference(radius):
    print("반지름이 "+str(radius)+"인 원의 둘레:",2*PI*radius)

r = int(input("반지름을 입력하세요: ")) #반지름을 입력 받음
PI = 3.14 #전역변수 PI 설정
circleArea(r) #원의 면적을 구하는 함수를 호출하여 원의 면적을 출력
circleCircumference(r)#원의 둘레를 구하는 함수를 호출하여 원의 둘레를 출력

 

 

 

실습문제 1

 

 

def Calculrator(z):
    x = int(input("첫번째 숫자를 입력하세요. ")) #x에 숫자를 저장함
    y = int(input("두번째 숫자를 입력하세요. ")) #y에 숫자를 저장함
    if z == 1: # 처음 1을 입력 받으면 더하기 함수를 호출하여 값을 밖으로 보냄
        return plus(x,y)
    elif z == 2: # 마찬가지로 2를 입력 받으면 빼기 함수를 호출하여 값을 밖으로 보냄
        return minus(x,y)
    elif z == 3: # 곱하기 함수를 호출하여 값을 밖으로 보냄
        return mul(x,y)
    elif z == 4: # 나누기 함수를 호출하여 값을 밖으로 보냄
        return div(x,y)
    else: # 나머지 함수를 호출하여 값을 밖으로 보냄
        return rem(x,y)

def plus(a,b): #더하기 함수
    return a,b
def minus(a,b): #빼기 함수
    return a-b
def mul(a,b): #곱하기 함수
    return a*b
def div(a,b): #나누기 함수
    return a/b
def rem(a,b): # 나머지 함수
    return a%b

print("====================================")
print("1.더하기")
print("2.빼기")
print("3.곱하기")
print("4.나누기")
print("5.나머지구하기")
print("6.나가기")
print("====================================")

while True:
    ans = int(input("원하는 계산기 기능을 입력하세요. ")) #ans에 숫자를 저장함
    if ans == 6: break #나가기 숫자 6을 입력하면 while문을 빠져나오고 프로그램이 종료
    print("결과는",Calculrator(ans),"입니다.")

 

 

 

실습문제 2

 

def grading():
    def grade(x):
        if x>=90: return 'A'
        elif x >= 80: return 'B'
        elif x >= 70: return 'C'
        elif x >= 60: return 'D'
        else: return 'F'
    def result(a,b):
        print(a,"등급은 :",b)
        
    math = int(input("수학의 성적은 : ")) #수학 점수 저장
    korean = int(input("국어의 성적은 : ")) #국어 점수 저장
    english = int(input("영어의 성적은 : ")) #영어 점수 저장
    social = int(input("사회의 성적은 : ")) #사회 점수 저장
    science = int(input("과학의 성적은 : "))# 과학 점수 저장
    everage = (math + korean + english + social + science)/5 #평균 점수 저장

    m = grade(math) #수학 점수를 등급으로 변환
    k = grade(korean) #국어 점수를 등급으로 변환
    e = grade(english) #영어 점수를 등급으로 변환
    so = grade(social) #사회 점수를 등급으로 변환
    sc = grade(science) #과학 점수를 등급으로 변환
    ev = grade(everage) #평균 점수를 등급으로 변환

    result("수학", m) #수학 등급 출력
    result("국어", k) #국어 등급 출력
    result("영어", e) #영어 등급 출력
    result("사회", so) #사회 등급 출력
    result("과학", sc) #과학 등급 출력
    print("평균은 :", ev) #평균 등급 출력
    
grading() #함수 호출
반응형