세번째 날.
어제에 이어서 파이썬 기초 교육을 받았다.
import turtle as t
n = 5
t.color("purple")
t.begin_fill() # 색칠할 영역 시작
for x in range(n):
t.forward(50)
t.left(360/n)
t.end_fill() # 색칠할 영역 종료
n 이라는 변수를 이용해 for문을 작성하여 더 다양한 도형을 더욱 간단히 그릴 수 있도록 코딩함
x = input("첫번째 숫자를 입력하시오.") # input 함수의 리턴타입은 문자열
a = int(x) # 계산 하기 위해 정수 타입으로 변환
x = input("두번째 숫자를 입력하시오.")
b = int(x)
print("두 숫자의 곱셈 결과 ", a * b)
n = input("계산 횟수를 입력하시오")
for x in range(1, int(n)+1):
print(x, "번째 계산중 ....")
x_1 = input("첫번째 숫자를 입력하시오.") # input 함수의 리턴타입은 문자열
a = int(x_1) # 계산 하기 위해 정수 타입으로 변환
x_2 = input("두번째 숫자를 입력하시오.")
b = int(x_2)
print(x, "번째 두 숫자의 곱셈 결과 ", a * b)
import time
input("엔터를 누르고 20초를 세시오")
start = time.time()
input("20초 후 다시 엔터를 누르시오")
end = time.time()
# 시간 차이 계산
et = end - start
print("실제 시간 :", round(et, 3), "초") # 소수점 3자리 반올림
print("차이 :", round(abs(et-20), 3), "초")
🔽🔽 그리고 결과
import time
n = input("비교할 초를 입력하시오")
input("엔터를 누르고" + n + "초를 세시오")
start = time.time()
input(n + "초 후 다시 엔터를 누르시오")
end = time.time()
# 시간 차이 계산
et = end - start
print("실제 시간 :", round(et, 3), "초") # 소수점 3번째 자리 반올림
print("차이 :", round(abs(et-int(n)), 3), "초")
# 사용자에게 덧셈 정답 입력 받기
x = input("12+23= ")
# 정수형으로 형변환
a = int(x)
# 덧셈 정답 값 비교
if a == 12 + 23:
print("천재") # 정답
else:
print("바보") # 그 외(오답)
import turtle as t
import random
t.shape("turtle")
t.speed(0) # 가장 빠른 속도
for x in range(500):
a = random.randint(1,360)
t.setheading(a)
t.forward(10)
🔽🔽 그리고 결과
그리고 print(x, " 번째 a =", a) 이 코드를 추가하면
🔼🔼 이렇게 볼 수도 있다.
print("[1-10]")
x = 1
while x <= 10:
print(x)
x = x + 1 # 탈출 구문 (1씩 x를 증가시킨다. 11이 되는 순간 탈출)
print("탈출", x)
for x in range(10):
print(x)
import random
n = random.randint(1, 30)
while True:
x = input("숫자를 맞춰보세요")
g = int(x)
if g == n:
print("정답")
break
if g < n:
print("너무 작아요")
if g > n:
print("너무 커요")
print("탈출")
def는 define(정의하다)이다.
import random
# 인자가 있는 함수 정의
def hello(name):
print("hello", name)
# 함수 호출
hello(random.randint(1, 30))
hello("여현탁")
hello("star")
매개변수(인자)에 숫자를 입력하든 모두 출력이 된다.
# 인자가 있고, 출력이 있는 함수 정의
def square(a):
c = a * a
return c
def triangle(a, h):
c = a * h / 2
print(c)
return c
def factorial(n):
fact = 1
for x in range(1, n+1):
fact = fact * x
return fact
print("5!", factorial(5)) # 함수 실행 후 리턴 받은 값 바로 출력
print("3!", factorial(3))
# 1) 8!을 구하는 factorial 함수를 호출
fact = factorial(8)
# 2) fact 변수를 사용하여 리턴 값을 받은 후 출력해주세요
print("8!", fact)
# 함수를 호출 -> 인자는 꼭 맞춰서 호출해야 하지만, 리턴값은 꼭 사용하지 않아도 된다
result = square(10)
print("square:", result)
triangle(3,4) # 리턴값 사용하지 않고 just 호출
print("triangle:" , triangle(3,4))
result = triangle(3,4)
print(result)
def 안에 선언된 함수는 지역함수이므로 함수 밖이나 다른 함수에는 사용할 수 없다. 함수 밖의 공간에 선언된 것은 전역 변수. 예를 들어,
def square(a):
c = a * a
return c
result = square(10)
print("square:", result)
위의 경우 c는 지역변수, result는 전역변수이다.(매개변수 a도 지역변수)
학과 교수님의 설명을 빌리자면 광주 KBS를 서울에서는 볼 수 없는 것처럼 지역방송으로 예를 들어 설명하셨던 것 같다. 근데 제대로 안 들었던 것 같음. 죄송..
import turtle as t
def turn_right():
t.setheading(0)
t.forward(10)
def turn_up():
t.setheading(90)
t.forward(10)
def turn_left():
t.setheading(180)
t.forward(10)
def turn_down():
t.setheading(270)
t.forward(10)
def blank():
t.clear()
t.shape("turtle")
t.speed(0)
t.onkeypress(turn_right, "Right")
t.onkeypress(turn_up, "Up")
t.onkeypress(turn_left, "Left")
t.onkeypress(turn_down, "Down")
t.onkeypress(blank, "Escape")
t.listen()
잘됩니다 ..
import turtle as t
t.speed(0)
t.pensize(2)
t.hideturtle()
t.onscreenclick(t.goto)
뭐게요
웃음표시입니다 ^^
띄어 그리는게 안되서 걍 산 같음
혹은 그리다 만 하트
import random
# 1) 계산식을 만들어주는 함수를 정의
def make_question():
# 1-1) 각 변수에 임의의 수 담기
a = random.randint(1, 40)
b = random.randint(1, 20)
op = random.randint(1, 3) # 1:덧셈, 2:뺄셈, 3:곱셈
# 1-2) 계산식 만들기 (a + b or a - b or a * b)
# 1-2-1) a 값을 문자열로 q에 담기
q = str(a) # ex) a = 40 q = "40"
# 1-2-2) 연산자(+,-,*)를 문자열 q에 연결
if op == 1:
q = q + "+" # ex) "40+"
if op == 2:
q = q + "-" # ex) "40-"
if op == 3:
q = q + "*" # ex) "40*"
# 1-2-3) b 값을 문자열 q에 연결
q = q + str(b) # ex) "40+30"
# 1-3) 리턴
return q
# 2) 메인 프로그램
# 2-1) 정답, 오답 저장하는 변수 초기화
sc1 = 0 # 정답 변수
sc2 = 0 # 오답 변수
# 2-2) 다섯 문제 실행
for x in range(5):
# 2-2-1) 계산식 함수 호출
q = make_question()
# 2-2-2) 계산식 문제 출력
print(q)
#2-2-3) 계산식 정답 입력
ans = input("=")
# 2-2-4) 입력된 정답 형변환
r = int(ans)
# 2-2-4) 결과 확인
if eval(q) == r: # eval("40+30") -> 진짜 수식으로 변경해서 계산해줌
print("정답!")
sc1 = sc1 + 1
else:
print("오답!")
sc2 = sc2 + 1
# 2-3) 최종 결과 출력
print("정답:", sc1, "오답:", sc2)
# 2-4) 칭찬
if sc2 == 0:
print("당신은 천재입니다.")
🔼🔼 결과
import time
# 1) 타자연습 단어 리스트 만들기
w = ["고양이", "강아지", "여우", "원숭이", "판다", "개구리", "뱀", "개와 늑대의 시간", "easy peasy lemon squeezy"]
# 2) 문제 번호 초기화
n = 1
# 3) 게임 시작 입력 받기
print("[타자 게임] 준비되면 엔터!")
input()
# 4) 게임 시작 시간 저장
start = time.time()
# 5) 타자 게임 시작
# 5-1) 타자 게임 단어 추출
q = random.choice(w)
# 5-2) 타자 게임 5문제 시작
while n <= 5:
print("*문제", n)
print(q)
x = input()
if q == x:
print("통과")
n = n + 1 # 탈출 구문
q = random.choice(w)
else:
print("오타! 다시 도전!!")
# 6) 최종 결과 출력
end = time.time()
et = end - start
et = format(et, ".2f")
print("타자 시간:", et, "초")
🔼🔼 결과 ..
오늘은 여기까지!
비가 와서 우중충해서 그런지 왜인지 엄청 졸렸다. 부디 내일은 제정신으로 들을 수 있기를 ...
1~14까지 야무지게 정리 잘 했는걸요? 굿굿! 날씨가 얼른 맑아져서 jm님의 정신도 맑아지길 ㅎㅎ