상세 컨텐츠

본문 제목

[Python] [조건, 반복문] if, for, while문 연습문제

파이썬

by 서원렬 2022. 5. 25. 21:33

본문

728x90
반응형

(출처 : 03장 연습문제 - 점프 투 파이썬 (wikidocs.net))

 

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

더보기
num=3
sum=0

while num<=1000:
    sum+=num
    num+=3
print(sum)

166883

 

Q2 : while문을 사용해 다음과 같이 별을 표시하는 프로그램을 작성해 보자.

1번

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

2번
*****
****
***
**
*
1번

repeat=1

while repeat<=5:
    print("*"*repeat)
    repeat+=1

2번

repeat=1

while repeat<=5:
    print("*"*(6-repeat))
    repeat+=1

Q3 : for문을 사용하여 1부터 100까지 중 소인수를 출력해보자

※ 소인수 : 자연수 중 1과 자기자신으로만 나누어 떨어지는 수 ex) 7은 1과 7로만 나누어 떨어져 소인수이지만, 4는 1,2,4로 나누어 떨어져 소인수가 아니다.

print(2) #2는 조건에 맞게 맞추기 귀찮아서 별도 출력
for num in range(1,101): #1부터 100까지
    for div in range(2,num): #2부터 num-1까지 div로 num을 나누어보자.
        if num%div==0: break #만약 2부터 num-1까지 어떤 수로 나누어진다면 소인수가 아니므로 break
        if div==num-1 : print(num) #만약 2부터 num-1까지 그 어떤 수로도 나누어 떨어지지 않았다면 소인수


3
5
7
11
...
83
89
97

 

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

 

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

 

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

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

79.0

 

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

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

이를 리스트 내포(list conprehension)을 사용해 표현해보자.

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


[2,6,10]

 

Q6 : 학생들의 중간고사 점수가 [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]과 같다. 1번부터 10번 학생이라고 할 때, 점수가 60점 미만이면 C, 60~79점이면 B, 80~100이면 A 학점이다. 각 학생별로 "3번 학생은 B학점입니다" 식으로 출력하는 프로그램을 작성해보자.

student_scores= [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
student_num=0
for score in student_scores:
    student_num+=1
    if score < 60:
        print("%d번 학생은 C학점입니다" %student_num)
    elif score <=79:
        print("%d번 학생은 B학점입니다" %student_num)
    else:
        print("%d번 학생은 A학점입니다" %student_num)
        

1번 학생은 B학점입니다
2번 학생은 B학점입니다
...
9번 학생은 A학점입니다
10번 학생은 A학점입니다

감사합니다

728x90
반응형

'파이썬' 카테고리의 다른 글

[Python] 함수  (0) 2022.05.28
[N141] Vector  (0) 2022.05.26
[Python] [조건, 반복문] While문  (0) 2022.05.25
[Python] [조건, 반복문] if문  (0) 2022.05.25
[Python] [조건, 반복문] for문  (0) 2022.05.25

관련글 더보기