AI/Python
[Python] 6-2장 반복문 응용(팩토리얼 계산, 사인 함수, 별 그리기, up & down 등)
K_EY
2023. 3. 24. 18:09
- 6개의 원 그리기 (터틀 그래픽)
import turtle
t = turtle.Turtle()
t.shape("turtle")
for i in range(6):
t.circle(100)
t.left(60)
- n각형 그리기 (터틀 그래픽)
n = int(turtle.textinput("", "몇 각형을 원하시나요? "))
leng = int(turtle.textinput("", "한 변의 길이는 얼마인가요? "))
for i in range(n):
t.forward(leng)
t.left(360/n)
t.clear()
- 팩토리얼 계산
n = int(input("정수를 입력하시오: "))
fac = 1
for i in range(1, n+1):
fac *= i
print(str(n)+"!은 "+str(fac)+"이다.")
- 로그인 비밀번호 찾기
password = "pythonisfun"
ans =""
while ans != password:
ans = input("암호를 입력하시오: ")
print("로그인 성공")
- 구구단 출력
dan = int(input("원하는 단은: "))
for i in range(1, 10):
print(dan,"*",i,"=",dan * i)
- 별 그리기 (터틀 그래픽)
import turtle
t = turtle.Turtle()
t.shape("turtle")
for i in range(5):
t.forward(50)
t.right(144)
- 스파이럴 그리기 (터틀 그래픽)
colors = ["red", "purple", "blue", "green", "yellow", "orange"]
turtle.bgcolor("black")
t.speed(0)
t.width(3)
length = 10
while length < 900:
t.forward(length)
t.pencolor(colors[length%6])
t.right(89)
length += 5
- 숫자 맞추기 게임 (up & down)
import random
count = 0
ans = random.randint(1, 100)
guess = 0
print("1부터 100 사이의 숫자를 맞추시오")
while guess != ans:
count += 1
guess = int(input("숫자를 입력하시오: "))
if guess < ans:
print("낮음!")
elif guess > ans:
print("높음!")
print("축하합니다. 시도횟수 =",count, "정답은 =",ans)
- 모든 샌드위치 종류 출력
breads = ["호밀빵", "위트", "화이트"]
meats = ["미트볼", "소시지", "닭가슴살"]
vegis = ["양상추", "토마토", "오이"]
sauces = ["마요네즈", "허니 머스타드", "칠리"]
for b in breads:
for m in meats:
for v in vegis:
for s in sauces:
print(b+"+"+m+"+"+v+"+"+s)
- 랜덤 산술 문제 출력
import random
x = random.randint(1, 9)
y = random.randint(1, 9)
while True:
ans = int(input(str(x)+"*"+str(y)+"는"))
if ans == x*y:
print("맞았습니다.")
break
- 눈 결정 그리기 (터틀 그래픽)
import turtle
t = turtle.Turtle()
t.shape("turtle")
angle = 0
for i in range(6):
t.left(angle+90)
t.forward(100)
t.forward(-30)
t.left(60)
t.forward(30)
t.forward(-30)
t.right(120)
t.forward(30)
angle += 60
t.penup()
t.home()
t.pendown()
- 거북이 왕복 달리기 (터틀 그래픽)
import turtle
t = turtle.Turtle()
t.shape("turtle")
for i in range(5):
t.forward(200)
t.right(90)
t.forward(20)
t.right(90)
t.forward(200)
t.left(90)
t.forward(20)
t.left(90)
t.home()
t.clear()
- 사인 함수 그리기 (터틀 그래픽) - sin() 함수 사용
import math
import turtle
t = turtle.Turtle()
t.shape("turtle")
for degree in range(360):
radian = math.sin(3.14 * degree / 180.0)
t.goto(degree, radian * 100)
※ 두근두근 파이썬 6장 연습문제 참조