Python/실습

98. [Python] 프로그래밍 실습 : Loop ( 반복문 )

천재단미 2025. 1. 20. 16:28
728x90
반응형

오류2

 

 

 

목차 ▽열기

 

문제  1. 

스크린샷 2025-01-20 오후 6

풀이  1. 

 

  1. a가 처음에 5로 설정됩니다.
  2. b는 a + 2이므로 b = 7이 됩니다.
  3. 이후 a는 1로 변경됩니다.
  4. c = b - a 이므로 c = 7 - 1 = 6입니다.

코드

a = 5  
b = a + 2 
a = 1
c = b - a
print(c)

스크린샷 2025-01-21 오전 1

 

결과 출력 

 

a = 5

b = 7

a = 1

c = 6


문제  2. 

스크린샷 2025-01-21 오전 12

 

풀이  2. 

 

  1. range(1, 150+1)    # 1부터 150까지의 숫자들을 생성합니다. ( 1번째 에서 151번째까지 ( 0부터 카운터 되기 때문 )
  2. sum()                    # 함수는 이 숫자들의 합계를 구합니다.

 

코드

total = range( 1 , 150+1)
total   # 결과  : range(1, 150)
total_sum = sum(range(1, 150+1))
total_sum
print(total_sum)

스크린샷 2025-01-21 오전 1

 

결과 출력 

 

11325

 


문제  3. 

스크린샷 2025-01-21 오전 12

 

 

풀이  3. 

 

  1. input()      #  함수는 문자열을 반환하므로, int()를 사용해 정수로 변환합니다.
  2. str(dan)   # 입력받은 단을 문자열로 변환
  3. " X "        # 곱셈 기호

코드

range(1, 10)

dan = int(input("단을 입력하세요: "))

dan = int(input("단을 입력하세요: "))
for i in range(1, 10):
    print(str(dan) + " X " + str(i) + " = " + str(dan * i))

 

스크린샷 2025-01-21 오전 1

 

결과 출력 

3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27
단을 입력하세요: 3

 


 

 

문제  4. 

스크린샷 2025-01-21 오전 12

 

 

풀이  4. 

 

  1. 현재 숫자(num)가 3으로 나누어 떨어지는지 확인합니다.
  2. %는 모듈로 연산자로, 나눗셈의 나머지를 반환합니다.
  3. 3의 배수라면 이 조건이 참이 됩니다.

 

코드

range(1, 100+1)

my_list = range(1, 100 + 1)

my_list = range(1, 100 + 1)
for num in my_list:
    if num % 3 == 0:
        print("박수")
    else : 
        print(num)

스크린샷 2025-01-21 오전 1

 

결과 출력 

1
2
박수
4
5
박수
7
8
박수
10
11
박수
13
14
박수
16
17
박수
19
20
박수
22
23
박수
25
26
박수
28
29
박수
31
.
.
.
.
.
.

 


 

문제  5. 

스크린샷 2025-01-21 오전 12

 

풀이  5. 

 

  1. count = 0         # 음수의 개수를 저장할 변수를 0으로 초기화합니다.
  2. if num < 0 :      # 입력받은 숫자가 0보다 작은지 (음수인지) 확인합니다.
  3. 루프가 끝난 후, 최종적으로 세어진 음수의 개수를 출력합니다.

 

코드

num = int(input("숫자 입력 : "))

for i in range(6):

count = 0 

for i in range(6):
    num = int(input("숫자 입력 : "))  
    if num < 0 : 
        count = count + 1  

print("입력한 숫자들 중 음수의 개수는 " + str(count) + "개입니다.")

 

스크린샷 2025-01-21 오전 1

 

결과 출력 

숫자 입력 :  -1
숫자 입력 :  -4
숫자 입력 :  2
숫자 입력 :  4
숫자 입력 :  3
숫자 입력 :  2
입력한 숫자들 중 음수의 개수는 2개입니다.

 


 

문제  6. 

스크린샷 2025-01-21 오전 12

 

풀이  6. 

 

  1. numbers = [ ]                        # 빈 리스트 'numbers' 를 생성합니다. 이 리스트에 사용자가 입력한 숫자들을 저장할 것입니다.
  2. numbers.append(num)    # 입력받은 숫자를 'numbers' 리스트의 끝에 추가합니다.
  3. list(reversed(numbers))      # reversed(numbers)는 numbers 리스트의 역순 이터레이터를 반환합니다.
  4. list()                                       #  list()를 사용하여 이 이터레이터를 리스트로 변환합니다.

 

 

역순으로 나타내는 방법

reversed(numbers) 외에 도 다양한 방법이 있어 

위 주제로 별로 블로그 작성하여 차후 첨부 진행하겠습니다. 

 

 

- 파일첨부 완료 

 

100. [Python] 숫자 리스트 역순 처리하는 방법

 

100. [Python] 숫자 리스트 역순 처리하는 방법

Python은 매우 강력하고 유연한 프로그래밍 언어로, 숫자 리스트를 역순으로 처리하는 다양한 방법을 제공합니다. list(reversed(numbers))는 가장 널리 사용되는 방법이지만, 다른 대안들도 많이 있습

danmi1109.tistory.com

 

코드

int(input("숫자 입력 : "))

num = int(input("숫자 입력 : "))

for i in range(6):

numbers = [] 

numbers = [] 

for i in range(6):
    num = int(input("숫자 입력 : "))
    numbers.append(num)
print("입력한 숫자의 역순은 다음과 같습니다: ", list(reversed(numbers)))

스크린샷 2025-01-21 오전 1

 

결과 출력 

숫자 입력 :  4
숫자 입력 :  6
숫자 입력 :  4
숫자 입력 :  2
숫자 입력 :  4
숫자 입력 :  5
입력한 숫자의 역순은 다음과 같습니다:  [5, 4, 2, 4, 6, 4]

 


문제  7. 

스크린샷 2025-01-21 오전 12

 

풀이  7. 

 

  1. .append(): 이 메소드는 리스트의 끝에 새로운 요소를 추가합니다.
  2. score - 7: 이 부분은 score라는 변수에서 7을 뺀 값을 계산합니다.

 

코드

scores = [70, 60, 55, 75, 95, 90, 80, 80, 85, 76]

scores_list = []

for score in scores:
    scores_list.append(score - 7)
    
print("학생들의 수정된 점수는 : " + str(scores_list) + "입니다.")

스크린샷 2025-01-21 오전 1

 

결과 출력 

학생들의 수정된 점수는 : [63, 53, 48, 68, 88, 83, 73, 73, 78, 69]입니다.

 


문제  8. 

스크린샷 2025-01-21 오전 12

 

풀이  8. 

 

 

코드

 # 최고 점수

max_scores = max(scores)
print(max_scores)

 # 최고 점수

max_scores = max(scores)
print(max_scores)

스크린샷 2025-01-21 오전 1

 

 

결과 출력 

 # 최고 점수(max_scores) : 

95 

# 최저 점수(min_scores) : 

55 


 

문제  9. 

스크린샷 2025-01-21 오전 12

 

풀이  9.

 

      1. while True:          # 무한 루프를 시작합니다. 이는 사용자가 종료 조건을 입력할 때까지 계속 실행됩니다.
      2. if score == -1:    # 사용자가 -1을 입력했는지 확인합니다. 이는 프로그램 종료 조건입니다.
      3. break                  # 루프를 종료합니다.

코드

# 점수 입력받기
score = int(input("점수를 입력하세요 : " )  

while True:
    score = int(input("점수를 입력하세요 (-1 입력 시 종료): "))  
    
    if score == -1:  # -1 입력 시 종료 조건
        print("프로그램을 종료합니다.")
        break
    
    # 점수에 따른 학점 계산
    if 90 <= score <= 100:
        grade = "A"
    elif 80 <= score < 90:
        grade = "B"
    elif 70 <= score < 80:
        grade = "C"
    elif 60 <= score < 70:
        grade = "D"
    else:
        grade = "F"
    
    print(f"입력하신 점수 {score}에 대한 학점은: {grade}")

스크린샷 2025-01-21 오전 1

 

 

결과 출력 

점수를 입력하세요 (-1 입력 시 종료):  42
입력하신 점수 42에 대한 학점은: F
점수를 입력하세요 (-1 입력 시 종료):  76
입력하신 점수 76에 대한 학점은: C
점수를 입력하세요 (-1 입력 시 종료):  99
입력하신 점수 99에 대한 학점은: A
점수를 입력하세요 (-1 입력 시 종료):  33
입력하신 점수 33에 대한 학점은: F
점수를 입력하세요 (-1 입력 시 종료):  -1
프로그램을 종료합니다.

 

문제  11. 

스크린샷 2025-01-21 오전 12

 

 

Error Code

 

문제. 10 의 경우  문제의 오류로 인해 패스 

 

 

 

풀이  11. 

 

  1. sum(mathscore)                  # 모든 점수의 합을 계산합니다.
  2. len(mathscore)                    # 점수의 개수를 구합니다.
  3. average_score                     # 합계를 개수로 나누어 평균을 계산합니다.
  4. round(average_score, 2)    # 로 평균 점수를 소수점 둘째 자리까지 반올림합니다.

 

 

코드

# 학생 이름 입력
name = input("이름 입력: ")  

 # 수학 점수 입력
score = int(input("수학 점수 입력: ")) 

 # 수학 점수 입력
score = int(input("수학 점수 입력: ")) 

average_score = sum(mathscore) / len(mathscore)

print("수학 점수 평균은 " + str(round(average_score, 2)) + "점입니다.")

mathscore = [] 
for i in range(5):
    name = input("이름 입력: ")  
    score = int(input("수학 점수 입력: "))  
    mathscore.append(score) 
    average_score = sum(mathscore) / len(mathscore)

print("수학 점수 평균은 " + str(round(average_score, 2)) + "점입니다.")

 

스크린샷 2025-01-21 오전 1

 

결과 출력 

이름 입력:  홍길동
수학 점수 입력:  98
이름 입력:  김나나
수학 점수 입력:  100
이름 입력:  김철수
수학 점수 입력:  38
이름 입력:  김길수
수학 점수 입력:  55
이름 입력:  박문치
수학 점수 입력:  44
수학 점수 평균은 67.0점입니다.

 


 

문제  12. 

스크린샷 2025-01-21 오전 12

 

풀이  12. 

 

      1. is_spam = False      # 스팸 여부를 나타내는 변수를 False로 초기화합니다.(변수의 초기 상태가 명확해져 코드의 가독성이 향상)
      2. is_spam = True       # 스팸 단어가 발견되면 is_spam을 True로 설정합니다.
      3. if is_spam:              # 스팸 단어가 발견되었는지 최종 확인합니다. 

코드

# 스팸 단어 리스트
spam_list = ['대출', '금리', '도박', '잭팟']

# SMS 문장 입력
sms = input("SMS 문장을 입력하세요: ")

# 스팸 단어 검사
is_spam = False
for spam_list in spam_list:
    if spam_list in sms:
        is_spam = True
        break

if is_spam:
    print("스팸")
else:
    print("스팸 아님")

 

스크린샷 2025-01-21 오전 1

결과 출력

스팸

 

728x90
반응형
home
}