1. if 문의 기본 형식이다. 빈칸을 제시된 보기로 채우시오.
실행할 문장 1, 실행할 문장 2, 조건식
if 조건식:
실행할 문장 1
else :
실행할 문장 2
2. 다음 if 문의 결과를 예측하시오.
a=100
if a != 100 :
print("100이 아니군요.")
else :
print("100이군요.")
출력값
3. 다음 if문의 결과를 예측하시오.
a = 123
if a == 100 :
print("100이군요.")
print("100이 아니군요.")
아무것도 나오지 않는다.
출력결과값
4.입력한 숫자가 3의 배수인지를 판단하는 프로그램이다. 빈칸을 채우시오.
a = int(input("정수를 입력하세요:"))
if a%3 == 0 :
print("3의 배수를 입력했군요.")
else :
print("3의 배수가 아니군요.")
5. 다음 if문의 결과를 예측하시오.
a = 123
if a > 100:
if a > 200:
print("완전히 큰 수 입니다.")
else :
print("적당한 수 입니다.")
else :
print("완전히 작은 수 입니다.")
print("프로그램 끝입니다.")
적당한 수입니다.
출력결과값
6. 다음 중첨 if문을 elif를 사용하는 코드로 변경하시오.
score = 55
if score >= 60:
print("합격입니다.")
else :
if score >= 40:
print("불합격이지만 과락은 아닙니다.")
else :
print("불합격이면서 과락입니다.")
score = 55
if score >= 60:
print("합격입니다.")
elif score >= 40:
print("불합격이지만 과락은 아닙니다.")
else :
print("불합격이면서 과락입니다.")
7. 두사람이 주사위를 던져 더 큰 수가 나오면 이기는 게임이다. A가 이기거나 B가 이기거나 비기는 결과가 나와야 한다. 코드를 작성하시오.
import random
a = random.randrange(1, 7) # 1 이상 7 미만의 난수를 리턴한다.
b = random.randrange(1, 7)
print("A의 주사위 숫자는 %d입니다." % a)
print("B의 주사위 숫자는 %d입니다." % b)
if a > b:
print("A가 이겼습니다.")
elif b > a:
print("B가 이겼습니다.")
else:
print("비겼습니다.")
결과 출력 값
8. 심화문제 139쪽의 [응용예제 02]를 수정해서 거북이 세 마리가 화면을 돌아다니다 서로 만나면 만난 위치에 도장을 찍고 계속 움직이는 프로그램을 작성하시오. 프로그램은 무한 반복된다. 거북이가 화면 밖으로 나가면 다시 각자의 처음 위치[거북이 1은 (-100, -100), 거북이 2는 (0, 0), 거북이 3은 (100, 100)]로 이동한다.
import turtle
import math
import random
## 전역 변수 선언 부분 ##
t1, t2, t3 = [None] * 3
t1X, t1Y, t2X, t2Y, t3X, t3Y = [0] * 6
swidth, sheight = 300, 300
## 메인 코드 부분 ##
if __name__ == "__main__":
turtle.title('거북이 만나기')
turtle.setup(width=swidth + 50, height=sheight + 50)
turtle.screensize(swidth, sheight)
t1 = turtle.Turtle('turtle');
t1.color('red');
t1.speed(10);
t1.penup()
t2 = turtle.Turtle('turtle');
t2.color('green');
t2.speed(10);
t2.penup()
t3 = turtle.Turtle('turtle');
t3.color('blue');
t3.speed(10);
t3.penup()
t1.goto(-100, -100); #거북이1의 처음위치
t2.goto(0, 0); #거북이2의 처음위치
t3.goto(100, 100) #거북이3의 처음위치
while True:
angle = random.randrange(0, 360)
dist = random.randrange(1, 50)
t1.left(angle);
t1.forward(dist)
angle = random.randrange(0, 360)
dist = random.randrange(1, 50)
t2.left(angle);
t2.forward(dist)
angle = random.randrange(0, 360)
dist = random.randrange(1, 50)
t3.left(angle);
t3.forward(dist)
t1X = t1.xcor();
t1Y = t1.ycor()
t2X = t2.xcor();
t2Y = t2.ycor()
t3X = t3.xcor();
t3Y = t3.ycor()
if not ((-swidth / 2 <= t1X and t1X <= swidth / 2) and (-sheight / 2 <= t1Y and t1Y <= sheight / 2)):
t1.goto(-100, -100)
if not ((-swidth / 2 <= t2X and t2X <= swidth / 2) and (-sheight / 2 <= t2Y and t2Y <= sheight / 2)):
t2.goto(0, 0)
if not ((-swidth / 2 <= t3X and t3X <= swidth / 2) and (-sheight / 2 <= t3Y and t3Y <= sheight / 2)):
t3.goto(100, 100)
if math.sqrt(((t1X - t2X) * (t1X - t2X)) + ((t1Y - t2Y) * (t1Y - t2Y))) <= 20:
t1.stamp();
t2.stamp()
elif math.sqrt(((t1X - t3X) * (t1X - t3X)) + ((t1Y - t3Y) * (t1Y - t3Y))) <= 20:
t1.stamp();
t3.stamp()
elif math.sqrt(((t2X - t3X) * (t2X - t3X)) + ((t2Y - t3Y) * (t2Y - t3Y))) <= 20:
t2.stamp();
t3.stamp()
turtle.done()
출력값
9. 2이상의 두 정수를 입력받고, 두 수 사이의 모든 소수의 합을 구하는 프로그램을 작성하시오.
힌트) 2중 for문을 사용한다.
##변수 선언 부분##
Num1, Num2, sum = 0, 0, 0
##메인 코드 부분##
Num1 = int(input(" *** 시작 숫자를 입력하세요(2이상) : "))
Num2 = int(input(" *** 끝 숫자를 입력하세요 : "))
for i in range(Num1, Num2 + 1):
PrimeNumber = True
for j in range(Num1, i) : #j의 범위가 Num1부터 i까지 for문을 반복해라.
if i % j == 0 : #i나누기 j의 나머지가 0일때
PrimeNumber = False #소수가 없다.
break
if PrimeNumber == True : #소수일때
sum = sum + i #소수끼리의 합을 구한다.
print("%d부터 %d까지 소수의 합은 %d입니다. " % (Num1, Num2, sum))
결과 값
'프로그래밍 > 대학전공서적공부' 카테고리의 다른 글
파이썬 for Beginner 4장 연습문제 정답 (0) | 2022.01.04 |
---|---|
파이썬 for Beginner 3장 연습문제 정답 (0) | 2022.01.04 |
파이썬 for Beginner 2장 연습문제 정답 (0) | 2022.01.04 |
파이썬 for Beginner 1장 연습문제 정답 (0) | 2022.01.04 |