BASHA TECH

파이썬 ch03 연습문제 본문

카테고리 없음

파이썬 ch03 연습문제

Basha 2022. 9. 21. 18:30
728x90
# 1. 다음 코드의 결괏값은 무엇일까?
a = "Life is too short, you need python"

if "wife" in a: print("wife") # a에 wife가 들어있으면 wife 출력해라
elif "python" in a and "you" not in a: print("python") 
# a에 python이 들어있고 you가 들어있지 않으면 python을 출력해라
elif "shirt" not in a: print("shirt")
# a에 shirt가 들어있지 않으면 shirt를 출력해라
elif "need" in a: print("need")
# a에 need가 들어있으면 need를 출력해라
else: print("none")
# 위의 경우 모두 해당이 되지 않은 경우 none을 출력해라
# 해당하는 경우가 shirt여서 shirt가 출력되었다.

=> shirt

 

# 2. while문을 사용해 
# 1부터 1000까지의 자연수 중 3의 배수의 합을 구해 보자.
a = 0
b = 1
while b <= 1000:
    if b % 3 == 0:
        a += b
    b += 1 # Q. 왜 이것이 빠지면 무한 루프에 빠지는 걸까?
print(a)
result = 0
i = 1
while i <= 1000:
    if i % 3 == 0: # 3으로 나누어 떨어지는 수는 3의 배수
        result += i
    i += 1

print(result) # 166833 출력

=> 166833

# 3. while문을 사용하여 
# 다음과 같이 별(*)을 표시하는 프로그램을 작성해 보자
# *
# **
# ***
# ****
# *****
i = 0
while True:
    i += 1 # while문 수행 시 1씩 증가
    if i > 5: break     # i 값이 5보다 크면 while문을 벗어난다.
    print('*' * i)     # i 값 개수만큼 *를 출력한다.

=> *

     **

    ***

    ****

    *****

# 4. for문을 사용해 1부터 100까지의 숫자를 출력해 보자.
for i in range (1, 101):
    print(i)

=> Output exceeds the size limit. Open the full output data in a text editor

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

...

97 98 99 100
# 5. A 학급에 총 10명의 학생이 있다. 
# 이 학생들의 중간고사 점수는 다음과 같다.
# [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
# for문을 사용하여 A 학급의 평균 점수를 구해 보자.
a = [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
sum = 0
# sum = 0 을 지정해주지 않으니 type error가 생겼다.
for score in a:
    sum += score

avg = sum / len(a)
print(avg)
A = [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
total = 0

for score in A:
    total += score   # A학급의 점수를 모두 더한다.

average = total / len(A) # 평균을 구하기 위해 총 점수를 총 학생수로 나눈다.
print(average) # 평균 79.0이 출력된다.

=> 79.0

# 6. 리스트 중에서 홀수에만 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)

# result = [n*2 for in numbers if n%2==1] n을 제외하고 코딩했더니
# syntax error가 생김

[2, 6, 10]

728x90
반응형
Comments