프로그래밍/python

[학교/파이썬/20.05.04] 과제1

pxatd 2020. 6. 30. 02:32
728x90

제가 수강했던 과목의 교수님께서는 매주 간단한 파이썬 퀴즈를 내주셨습니다. 매주 내주시는 퀴즈 외에 중간고사 전 주, 기말고사 전 주에 난이도가 있는 과제를 총 두 번 내주셨는데 주 교재인 "두근두근파이썬" 에서 문제를 골라 푸는 방식이였습니다.

 

교수님께서 제시한 문제입니다. 

 

-4장 연습문제 5번

-4장 연습문제 8번

-5장 연습문제 4번

-5장 연습문제 7번

-6장 연습문제 12번


4장 연습문제 5번

기호([])와 중간의 삽입할 문자열(python)을 입력하면 [python] 이런식으로 출력하라는 문제입니다. 

 

userA,userB=input("기호를 입력하시오:  ")


userC=input("중간에 삽입할 문자열을 입력하세요:  ")


print(userA+userC+userB)

 처음에 조금 어렵게 생각하여 list.append로 리스트에 입력받은것을 하나씩 저장하려고 했으나 너무 지저분해지고 생각했던 것 처럼 깔끔하게 출력되지않아 그냥 심플하게 코딩하였습니다.


4장 연습문제 8번

사용자가 입력하는 3개의 좌표를 저장하고 이 좌표대로 거북이를 이동시키는 문제입니다. 

#4장 8번

import turtle

t = turtle.Turtle()
t.shape("turtle")

list_xy=[]

x1=int(input("x1:  "))
list_xy.append(x1)

y1=int(input("y1:  "))
list_xy.append(y1)

x2=int(input("x2:  "))
list_xy.append(x2)

y2=int(input("y2:  "))
list_xy.append(y2)

x3=int(input("x3:  "))
list_xy.append(x3)

y3=int(input("y3:  "))
list_xy.append(y3)

t.goto(list_xy[0],list_xy[1])
t.goto(list_xy[2],list_xy[3])
t.goto(list_xy[4],list_xy[5])


실행 화면입니다.

 


5장 연습문제 4번

학생의 시험점수를 물어보고 점수에 맞게 등급을 출력하는 문제입니다.

교수님께서 코드가 같으면 0점처리한다고 하셔서 일부러 grade리스트에 저장한 것도 있습니다. ㅋㅋ 그냥 print문에 집어넣어도 되는데 안겹치려고 조금 지저분하게 코딩했습니다. 

#5장 4번

userGrade=float(input("성적을 입력하세요:  "))


if (userGrade<0):
     raise Exception("성적은 0점 이상이여야 합니다.")


grade=['A','B','C','D','F']


if userGrade>=90:
     print(grade[0]+"학점입니다.")
elif userGrade>=80:
     print(grade[1]+"학점입니다.")
elif userGrade>=70:
     print(grade[2]+"학점입니다.")
elif userGrade>=60:
     print(grade[3]+"학점입니다.")
else:
     print(grade[4]+"학점입니다.")

5장 연습문제 7번

2자리 숫자로 이루어진 복권이 있는데, 사용자가 두자리(자릿수 상관 X)를 맞추면 100만원, 자릿수에 관계없이 한자리만 맞으면 50만원을 출력하는 문제입니다. 실제로 이런 복권이 있다면 얼마나 좋을까요 ㅎ 

#5장 7번

import random

lottoUser = int(input("복권번호를 입력하세요(0에서 99사이):  "))

divUser1 = lottoUser // 10
divUser2 = lottoUser % 10

lottoCom = random.randint(1,99)

divCom1 = lottoCom // 10
divCom2 = lottoCom % 10

if 1<=lottoCom<=9:
     print("당첨번호는",str(0)+str(lottoCom),"입니다")
else:
     print("당첨번호는",lottoCom,"입니다")

if (divUser1==divCom1 and divUser2==divCom2) or (divUser1==divCom2 and divUser2==divCom1):
     print("상금은 100만원입니다.")
elif divUser1==divCom1 or divUser1==divCom2 or divUser2==divCom1 or divUser2==divCom2:
     print("상금은 50만원입니다.")
else:
     print("상금은 없습니다.")
     

6장 연습문제 12번

터틀그래픽으로 sin그래프를 그리는 문제입니다. 

사실 삼각함수 배울때도 그냥 이렇게 생겼다 만 외웠지 뭐랑 뭐가 곱해져서 이렇게 나온다 라고 공부를 하지 않았기 때문에 식 작성하는게 어려웠습니다. (구글링이 없었으면 저는.. )

#6장 12번

import turtle
import math


t = turtle.Turtle()
t.shape("turtle")
t.color("red","yellow")


t.penup()
t.goto(-200,0)
t.pendown()


for i in range(360):
     sinxRadian = math.sin(3.14*i / 180.0)
     print(sinxRadian)
     t.goto(i-200,sinxRadian*150)

출력화면입니다. print로 값을 출력하는 코드를 작성했더니 그래프가 그려질 때 마다 값이 출력되네요

 

 

 

 

728x90