BASHA TECH
파이썬 ch03 연습문제 본문
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