CodingMaker

Python 제어문 본문

Python

Python 제어문

메이커K 2019. 12. 2. 19:50

- 정보 입력/출력 처리

- True/False 처리

- Random 모듈 활동

import random

seq = [1,3,4,6,7,15]

print(random.random())
print(random.randint(21,50))
print(random.choice(seq))

random으로 움직이는 거북이를 그려본다.

random으로 움직이는 거북이 실행
import turtle as t 
import random 

t.shape("turtle") # '거북이' 모양의 거북이 그래픽을 사용 
t.speed(0) 

for x in range(500): # 거북이를 500번 이동 
    a=random.randint(1,360) # 1~360사이의 수를 골라 a에 저장 
    t.setheading(a) # a 각도로 거북이의 방향을 돌림 
    t.forward(10) # 거북이를 10만큼 앞으로 이동

무작위로 덧셈 문제를 만들어서 맞추는 프로그램

import random

a=random.randint(1,30) # a에 1~30 사이의 임의의 수
b=random.randint(1,30) # b에 1~30 사이의 임의의 수

print(a,"+",b, "=") # 문제를 출력
x=input()           # 답을 입력받아 x에 저장
c=int(x)            # 문자열을 정수로 변환

if a+b==c:
    print("천재!")
else:
    print("바보?")

확장 : for 문 이용하여 10문제 맞추기 또는 10문제 내서 맞춘 문제 카운트 하기 


while 명령어

while은 "~하는 동안에"라는 의미처럼 주어진 조건을 만족하는 동안에 정해진 내용을 계속해서 수행하는 명령어이다.

 

조건문 : 비교식으로 해당 조건을 표현(a<b, b>15)

조건문을 만족할 경우 (true)에는 수행 내용을 실행

수행내용 : 4칸을 들여쓰기하여 수행내용을 구분

 

if 한번 실행

for 는 횟수만큼 실행

while 은 무한실행(조건이 만족하는 동안 계속해서)

1~10까지 실행
print("[1-10]") 
x=1 
while x <=10: 
    print(x) 
    x=x+1
[1-10] 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10
1부터 10까지 카운트하는 프로그램을 작성한다. 실행
s=0
x=1
while x <=10:
    s=s+x
    print("x:",x,"sum:",s)
    x=x+1
x: 1 sum: 1
x: 2 sum: 3
x: 3 sum: 6
x: 4 sum: 10
x: 5 sum: 15
x: 6 sum: 21
x: 7 sum: 28
x: 8 sum: 36
x: 9 sum: 45
x: 10 sum: 55

함수 정의 및 사용

특정한 기능을 묶어서 수행되도록 정의한 것이 함수이다.

함수를 사용하기 위해서는 함수를 호출한다.

 

함수를 호출할 때 사용할 값을 전달할 수 있으며 이 값을 인자라고 한다.

 

인자를 여러 개 전달할 수 있으며, 이때는 인자간에 ,를 넣어 구분한다.

예시 실행
def test1(name):
    print("Hi", name)
test1("Prthon")
test1("dCO")
test1("수업중입니다")
Hi Prthon
Hi dCO
Hi 수업중입니다
예시 실행
def square(a):
    c=a*a
    return c

s1=4
s2=square(s1)
print(s1,s2)
4 16
함수 응용 (다각형 그리기 프로그램) 실행
import turtle as t

def polygon(n):
    for x in range(n):
        t.forward(50)
        t.left(360/n)

def polygon2(n,a):
    for x in range(n):
        t.forward(a)
        t.left(360/n)

polygon(3)
polygon(5)

t.up()
t.forward(100)
t.down()

polygon2(3,75) # 삼각형은 75만큼
polygon2(5,100) # 오각형은 100만큼

거북이 그래픽 응용

거북이 그래픽에서 사용하는 추가적인 명령어는 다음과 같은 기능들을 수행한다

좌표 관련 명령어

 

방향 관련 명령어

 

실행 관련 명령어

 

표시 관련 명령어

거북이 그래픽 응용 실행
import turtle as t

t.bgcolor("black") #배경색을 검은색으로 지정
t.speed(0)   # 거북이 속도를 가장 빠르게 지정

for x in range(200):  # for 반복 블록을 200번 실행
    if x %3==0: # 번갈아 가면서 선의 색깔을 변경
        t.color("red")
    if x %3==1:
        t.color("yellow")
    if x %3==2:
        t.color("blue")
    t.forward(x*2) # x*2 만큼 129이상은 별모양
    t.left(119) #129이상은 별모양

키보드로 거북이를 움직이는 프로그램을 실습한다.

특정 키가 눌러졌을때 수행할내용을 함수로 정의 실행
import turtle as t
t.shape("turtle")

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.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()

 

'Python' 카테고리의 다른 글

파이썬  (0) 2024.01.30
Python  (0) 2019.12.03
Python에서 아두이노 서보 모터 움직이기  (0) 2018.05.08
아두이노에서 Python으로 문자열 보내기  (1) 2018.04.24
파이썬에서 아두이노로 문자 또는 숫자 보내기  (8) 2018.04.17