파이썬 03장 연습문제
1. 조건문의 참과 거짓 구분하기
아래 코드의 결과값을 조건문의 참과 거짓을 파악하여 알아봅시다
k = "The credit goes to us, the blame goes to me" # 공은 우리에게로 돌리고, 책임은 내게로 돌려야하오
if "create" in a: print("create")
elif "blame" in a and "me" not in a: print("blame")
elif "goos" not in a: print("goos")
else: print("none")
풀이를 해보겠습니다. k 변수에 대입되어 있는 문자열에서 create 가 없으므로 첫번째 if 문장은 넘어갑니다
첫번째가 거짓이어서 두번째에 나오는 elif 를 만나고 blame 이 포함되어 있고 me 는 포함이 안되어야 하는데 둘다 포함되었으니 이번에도 거짓입니다.
세번째 elif 문에서 goos 는 포함안되어 있으니 참이 됩니다.
결과적으로 goos 가 출력이 되고 else 문은 건너 뛰고 종료가 됩니다
goos
2. 4의 배수의 합 구하기
while 문을 사용해서 1부터 200 까지의 자연수 중에서 4 의 배수의 합을 구해보세요
a = 0
sum = 0
while a <= 200:
a = a + 1
if a % 4 == 0:
sum = sum + a
print(sum)
5100
3. 삼각형 모양의 별 표시하기
*
**
***
****
*****
while 문을 사용해서 별모양으로 삼각형을 표시해보세요
a = 0
while True:
a += 1
if a > 5: break
print('*' * a)
a 라는 변수는 0부터 시작을 하고 while 반복문은 항상 참입니다.
무한루프를 타고 가게 되면서 계속 적으로 a = a + 1 을 해줍니다.
그리고 a 가 5 보다 클 경우에 break 문으로 while 문을 빠져나가게 됩니다.
처음에는 1을 더해서 1 이 a 에 대입되고 5 보다 작기 때문에 ‘*’ 을 a 만큼 즉 1개를 출력하고 다음에는 ‘**’ 그다음엔 ‘***’ 이렇게 마지막으로 ‘*****’ 를 출력해주고 다시 while 문을 돌렸을때 이제 a 가 6이 되므로 거짓이 되어 break 문으로 while 문에서 빠져나가게 됩니다.
4. 1부터 100 까지 출력하기
for 문 을 사용해서 1부터 100 까지 출력을 해보세요
for a in range(1, 101):
print(a)
for 문에 range 함수를 적용해서 하면 간단하게 해결이 됩니다.
1
2
3
4
...
98
99
100
5. 10명의 학생의 평균 점수 구하기
k 학급에 10명의 학생이 있다고 합니다. 이 학생들의 기말고사 점수는 아래와 같습니다.
for 문을 사용하여 k 학급 학생들의 평균 점수를 구해 보세요
[80, 70, 65, 72, 95, 80, 95, 60, 97, 100]
tot = 0
k = [80, 70, 65, 72, 95, 80, 95, 60, 97, 100]
for jum in k:
tot += jum
avg = tot / len(k)
print(avg)
k 학급 점수를 k 변수에 리스트로 대입이 된 상태에서
jum 변수는 k 리스트가 끝날때까지 반복이 되며 k 값을 하나씩 가지고 옵니다
tot 라는 변수에 jum 변수에 대입된 k학급 점수를 하나씩 더하게 됩니다.
전체 점수를 다 구해졌으면 for 문이 종료가 되고 avg 변수에 다 합해진 점수 tot 를 k 리스트의 길이로 나누게 됩니다.
그리고 이렇게 구해진 avg 변수의 값을 출력하면 됩니다.
81.4
6. 리스트 컴프리헨션 사용하기
다음 num 리스트에 있는 수 중에서 짝수에만 3을 곱하여 저장하는 코드를 리스트 컴프리헨션을 사용해서 변경해 보세요
>>> num = [1, 2, 3, 4, 5, 6]
>>> kkk = []
>>> for i in num:
... if i % 2 == 0:
... kkk.append(i * 3)
>>> print(kkk)
[6, 12, 18]
아래와 같이 변경할 수 있습니다.
>>> num = [1, 2, 3, 4, 5, 6]
>>> kkk = [i * 3 for i in num if i % 2 == 0]
>>> print(kkk)
[6, 12, 18]
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
