Minwoo Dev.

<점프 투 파이썬> :: 03. 프로그램의 구조를 쌓는다! 제어문 문제풀이 본문

Python

<점프 투 파이썬> :: 03. 프로그램의 구조를 쌓는다! 제어문 문제풀이

itisminu 2023. 10. 8. 11:38
728x90
반응형
SMALL

Q1. 다음 코드의 결과값은 무엇일까 ?

a = "Life is too short, you need python"

if "wife" in a: print("wife")
elif "python" in a and "you" not in a: print("python")
elif "shirt" not in a: print("shirt")
elif "need" in a: print("need")
else: print("none")

 

풀이)

if "wife" in a: print("wife")

wife 가 a 문장 안에 없으므로 이 if문은 성립하지 않는다. 

elif "python" in a and "you" not in a: print("python")

python이 존재한다. 하지만 you가 존재하므로 뒤의 조건문이 참이 아니다. and 연산으로 계산하면 이 문장은 거짓이다.

elif "shirt" not in a: print("shirt")

shirt 가 문장 내에 존재하지 않으므로 참. 따라서 shirt 출력.

elif "need" in a: print("need")

need 라는 단어가 문장 내에 존재하지 않으므로 거짓

else: print("none")

모든 것이 참이 아닐경우 , 하지만 하나 성립했으므로 출력 X

 

따라서 최종 결과값은 

shirt

 

Q2. while문을 사용해 1부터 1000까지의 자연수 중 3의 배수의 합을 구해보자.

 

정답)

result = 0
i = 1
while i <= 1000:
    if i%3==0:
        result += i
    i += 1
print(result)

 

Q3. while문을 사용하여 다음과 같이 별(*)을 표시하는 프로그램을 작성해 보자.

*
**
***
****
*****

 

정답)

i = 0
while True:
    i += 1
    if i>5:break
    print("*"*i)

 

 

Q4. for문을 사용해 1부터 100까지의 숫자를 출력해 보자.

 

정답)

for i in range(1,101):
    print(i)

 

 

Q5. A 학급에 총 10명의 학생이 있다. 이 학생들의 중간고사 점수는 다음과 같다.  

[70,60,55,75,97,90,80,80,85,100]

 

for 문을 사용하여  A 학급의 평균 점수를 구해보자.

 

정답)

A = [70,60,55,75,95,90,80,80,85,100]
total = 0
for score in A:
    total += score
average = total/len(A)
print(average)

 

 

Q6. 리스트 중에서 홀수에만 2를 곱하여 저장하는 다음 코드가 있다.

numbers = [1,2,3,4,5]

result = []
for n in numbers:
    if n%2==1:
        result.append(n*2)

위 코드를 리스트 내포(list comprehension)를 사용하여 표현해 보자.

 

정답)

numbers = [1,2,3,4,5]
result = [n*2 for n in numbers if n%2==1]
print(result)

 

728x90
반응형
LIST