## 전역 변수 선언 부분 ##
i, k, guguLine = 0, 0, ""
## 메인 코드 부분 ##
for i in range(9, 1, -1) :
guguLine = guguLine + ("# %d단 #" % i)
print(guguLine)
for i in range(9, 0, -1) :
guguLine = ""
for k in range(9, 1, -1) :
guguLine = guguLine + str("%2dX %2d= %2d" % (k, i, k * i))
print(guguLine)
hap = 0
a, b = 0, 0
while True :
a = input("더할 첫 번째 수를 입력하세요 : ")
if a == "$" :
break
a = int(a)
b = int(input("더할 두 번째 수를 입력하세요 : "))
hap = a + b
print("%d + %d = %d" % (a, b, hap))
print("$을 입력해 반복문을 탈출했습니다.")
## 전역 변수 선언 부분 ##
i, k = 0, 0
## 메인 코드 부분 ##
i = 0
for i in range(0, 9) :
if i < 5 :
k = 0
for k in range(0, 4 - i) :
print(' ', end = '')
k += 1
k = 0
for k in range(0, i * 2 + 1) :
print('\u2665', end = '')
k += 1
else :
k = 0
for k in range(0, i - 4) :
print(' ', end = '')
k += 1
k = 0
for k in range(0, (9 - i) * 2 -1) :
print('\u2665', end = '')
k += 1
print()
i += 1
## 변수 선언 부분 ##
i, k, starNum = 0, 0, 0
numStr, ch, starStr = "", "", ""
## 메인 코드 부분 ##
if __name__ == "__main__" :
numStr = input("숫자를 여러 개 입력하세요 : ")
print("")
i = 0
ch = numStr[i]
while True :
starNum = int(ch)
starStr = ""
for k in range(0, starNum * 2) :
starStr += "\u2605"
k += 1
print(starStr)
i += 1
if (i > len(numStr) -1) :
break
ch = numStr[i]
11. 3부터 100까지의 숫자 중에서 소수(Prime Number)를 출력하는 코드를 작성하세요. 소수란 1과 자기자신만으로 나누어 떨어지는 정수를 말합니다. 즉, 2부터 자기자신 -1까지 나눠봐서 한 번도 나누어 떨어지지 않으면 소수입니다. 예로 5는 2, 3, 4로 각각 나누어서 한 번도 나누어 떨어지지 않으므로 소수입니다. 13도 2, 3, ..., 12까지 한 번도 나누어 떨어지지 않으므로 소수입니다.
맨처음 시작 할 때 거북이가 변 하나를 그리는데 왜인지 원인을 찾지 못했습니다. 참조만 해주세요!
import turtle
import random
## 전역 변수 선언 부분 ##
swidth, sheight = 500, 500
## 메인 코드 부분 ##
turtle.title('거북이가 랜덤한 별 그리기')
turtle.shape('turtle')
turtle.setup(width = swidth + 50, height = sheight + 50)
turtle.screensize(swidth, sheight)
turtle.pensize(3)
while True :
angle = random.randrange(0, 360)
dist = random.randrange(1, 100)
turtle.left(angle)
turtle.forward(dist)
side = random.randint(10, 200)
r = random.random()
g = random.random()
b = random.random()
turtle.pencolor((r, g, b))
turtle.pendown()
for i in range(0, 5):
turtle.forward(side)
turtle.left(144)
turtle.penup()
*주의사항 : 제가 직접 푼 것이므로 틀린 부분이 있을 수 있습니다. 오타나 틀린 부분 지적 환영!
## 변수 선언 부분 ##
select, answer, num1, num2, num3 = 0, 0, 0, 0, 0
## 메인 코드 부분 ##
num1 = int(input("*** 첫 번째 숫자를 입력하세요 : "))
num2 = int(input("*** 두 번째 숫자를 입력하세요 : "))
num3 = int(input("*** 더할 숫자를 입력하세요 : "))
for i in range(num1, num2 + 1, num3) :
answer = answer + i
print("%d+%d+...+%d는 %d입니다." % (num1, num1+num3, num2, answer))
5-3 숫자를 하나 입력받고, 그 숫자가 소수인지를 체크하는 프로그램을 만들어 보자.
힌트 소수란 2부터 자기자신-1까지의 숫자로 나눠서 나누어 떨어지는 숫자가 하나도 없는 수를 말한다. 예를 들어 7의 경우 2, 3, 4, 5, 6으로 각각 나누어서 나누어 떨어지는 수가 하나도 없으므로 소수다.
## 변수 선언 부분 ##
num1 = 0
## 메인 코드 부분 ##
num1 = int(input("*** 숫자를 입력하세요 : "))
for i in range(2, num1) :
if num1 % i == 0 :
print("%d는 소수가 아닙니다." %num1)
break
else :
print("%d는 소수 입니다." %num1)
연습문제
1. 다음은 num이 100인 경우에 실행하는 if 문입니다. 문법이 옳은 코드를 고르세요.
6. 랜덤하게 1~20까지의 숫자를 20개 채운 후에, 뽑힌 숫자 목록을 추출하는 코드를 작성하세요.
실행 결과 생성된 리스트 [1, 17, 8, 13, 8, 19, 13, 1 11, 17, 11, 11, 4, 4, 4, 17, 17, 1, 4, 9] 숫자 1은(는) 뽑혔습니다. 숫자 4은(는) 뽑혔습니다. 숫자 8은(는) 뽑혔습니다. 숫자 9은(는) 뽑혔습니다. 숫자 11은(는) 뽑혔습니다. 숫자 13은(는) 뽑혔습니다. 숫자 17은(는) 뽑혔습니다. 숫자 19은(는) 뽑혔습니다.
import random
numbers = []
for num in range(0,21) :
numbers.append(random.randrange(0,21))
print("생성된 리스트", numbers)
for num in numbers :
print("숫자 %d는(은) 뽑혔습니다." %num)
7. 다음은 두 사람이 주사위를 던져서 높은 숫자가 나오면 이기는 게임입니다. 출력 결과는 A가 이기거나, B가 이기거나, 비기는 결과가 나와야 합니다. 코드를 작성하세요.
아래의 첫 번째 코드는 파이썬 내장함수인 sum을 이용한 코드입니다. 내장함수를 사용하지 않은 코드(두 번째)도 첨부하였습니다.
import random
## 전역 변수 선언 부분 ##
diceA, diceB = [], []
## 메인 코드 부분 ##
for A in range(2):
diceA.append(random.randrange(1, 7))
print("A의 주사위 숫자는 %s입니다." % diceA)
for B in range(2):
diceB.append(random.randrange(1, 7))
print("B의 주사위 숫자는 %s입니다." % diceB)
if sum(diceA) > sum(diceB):
print("A가 이겼네요.")
elif sum(diceA) < sum(diceB):
print("B가 이겼네요.")
else:
print("둘이 비겼네요.")
import random
## 전역 변수 선언 부분 ##
diceA1, diceA2, diceB1, diceB2 = 0, 0, 0, 0
## 메인 코드 부분 ##
diceA1 = random.randrange(1, 7)
diceA2 = random.randrange(1, 7)
print("A의 주사위 숫자는 %d %d입니다." % (diceA1, diceA2))
diceB1 = random.randrange(1, 7)
diceB2 = random.randrange(1, 7)
print("B의 주사위 숫자는 %d %d입니다." % (diceB1, diceB2))
if diceA1 + diceA2 > diceB1 + diceB2 :
print("A가 이겼네요.")
elif diceA1 + diceA2 < diceB1 + diceB2 :
print("B가 이겼네요.")
else:
print("둘이 비겼네요.")
8. [응용예제 02]를 변경해서 거북이 3마리를 생성한 후 화면을 돌아다닐 때, 서로 만나면 크기가 랜덤하게 변경된 후, 계속 움직이는 프로그램을 작성합니다. 즉, 무한루프로 반복됩니다. 만약, 화면 밖으로 나가면 중앙(0, 0) 위치로 다시 데려옵니다.