"선미 파이썬 0323 10일차"의 두 판 사이의 차이

azuremei
이동: 둘러보기, 검색
 
잔글 (판 1개를 가져왔습니다)
 
(차이 없음)

2018년 4월 5일 (목) 15:16 기준 최신판

필기

'''
        2. for문
        - 리스트, 튜플, 문자열 등 요소가 나열된 자요형의 첫 요소부터 마지막 요소까지 차례로 변수에 대입
        - 요소개수만큼 반복
[for문 기본 구조]
for 변수 in 리스트  :
    수행문 (이때 변수에는 리스트의 요소 값이 대입된 상태)

for문에서 사용되는 변수는 대입되는 것이므로 미리 만들어놓지 않아도 된다(while문과는 다름>>개꿀)
'''
print()
print("[for문]")

#for a in [1, 2, 3] :
#    print(a)
#원래 우리가 알던 in은 '조건식'에서 사용될 때
    #특정 값이 리스트의 요소에 포함되었는지 판별해서 True/False로 반별해주는 것, for문에서는 a가 리스트의 1, 2, 3에 대입되어 리스트가 끝날 때 까지 명령을 수행한다.

for a in ["한국", "중국", "일본", 10] :
    print(a*2)
#변수가 숫자만일 필요가 없다

##문자열은 한 문자가 하나의 요소이다.
#for a in "ABCD" :
#    print(a)
for d in "ABCD" :
    print(d) #수행문에서 꼭 저 변수(d)를 사용해야 하는 건 아니다.
#    print(하하호호)라고 해도 출력이 가능
#d라는 변수는 살아있다.
print("for문이 끝난 뒤의 d의 값 : ", d)

#리스트 안의 튜플을 순서대로 튜플 변수에 담기
for (a, b) in [(1, 2), (3, 4),] :
    print("({}, {})".format(a,b))
#요소가 중요, 하나으 ㅣ요소 형태만 동일하게 해주면 대입 가능(>>리스트의 요소가 값이 두 개 있는 튜플 형태이므로 값이 두 개 있는 튜플로 대입을 받았다.)
    #for문에서 값을 받는 변수도 동일한 형태로 맞춰졌다.
    print()

#range() : 지정한 범위 만큼의 숫자들을 '반환'(앞으로 많이 사용할 변수)
#list(range(범위) ) >해당 범위만큼 숫자가 생성 >>0~9까지의 리스트가 생성 : 1이 아니라 0부터 생성한다.
print(list(range(10))) 

print( (list(range(1, 10))) ) # 시작숫자 지정 >>>1~9까지, 끝숫자 포함x
print( (range(35, 46))) # 35~45까지
print( (list(range(1, 10, 2))) ) # 2씩 증가

my_sum = 0 # 이걸 하지 않으면 for문 안에서 오류, #누적할때 my_sum+1..인데 없는 함수에 누적이 안되므로
for i in range(1, 11) : # 몇부터 몇가지 반복해라
    #print(i)
    my_sum += i #i의 값을 my_sum에 누적(my_sum+1+my_sum+2.....??)
    #이 때 my_sum(숫자)
print("1~10까지의 합", my_sum)


#입력 횟수만큼 반복
#count = int(input("반복 횟수 입력 : "))
#for i in range(count) : #반복횟수에 5 입력시 범위 1~4
#    print(i)

#반복할 횟수가 정해졌을 때 포문을 사용하면 훨씬 편하다.

#for문의 활용 예시
num = 0 # 몇 번째 학생인지
score_list = [30, 95, 64, 23, 100] # 점수 목록(리스트)
for score in score_list : #리스트의 값이 스코어 변수에 하나씩 대입
    num += 1 #넘을 만들 때 1로 만들었으면 넘+=1을 제일 마지막에 입력
    if score >= 60 :
        print("{}번 학생 합격입니다.".format(num))
    else :
        print("{}번 학생 불합격입니다.".format(num))

#불합격을 얘기해주면 민망하니까 합격만 얘기해주자
#컨티뉴를 사용해서
'''
num = 0 # 몇 번째 학생인지
score_list = [30, 95, 64, 23, 100] # 점수 목록(리스트)
for score in score_list : #리스트의 값이 스코어 변수에 하나씩 대입
    num += 1 #넘을 만들 때 1로 만들었으면 넘+=1을 제일 마지막에 입력
    if score > 60 :
            print("{}번 학생 합격입니다.".format(num))
    else :
            continue #for문에서 컨티뉴는 다음 점수 가지러 감
'''
'''
반복문에 추가하기
continue for문에서는 다음 요소를 대입하는 식으로 점프
'''
#if나 for문처럼 문자열을 통일해야 하는 경우 문자열 주석도 들여쓰기를 해 줘야 함

print()
#for문 활용 예시
#2중for문 >>>> 구구단 출력하기 - for문 안에 for문 하나 더 사용하기

for i in range(2, 10): #구구단의 단
    #i의 for문 첫 번째 수행문 - j for문 시작
    for j in range(1, 10) : #구구단에서 곱해지는 1부터 9까지의 수
        #i는 2일때 j의 포문 시작 >>이때 j는 1
        print("{} * {} = {} ".format(i, j, (i*j)))

    #i for문 두 번째 수행문 - 개행
    print()

'''
2 * 1 = 2
...
2 * 9 = 18
[개행]
3 * 1 = 3
....
3 * 9 = 27
'''

#for문 연습
'''
1. 1부터 입력받은 수까지 짝수의 합 구하기
[출력결과]
숫자 입력 : 5
1~5까지 짝수의 합은 6입니다.(for문과 range 이용)

my_sum=0
for a in range(2, int(input("숫자 입력 : ")), 2) :
    my_sum +=a
    print("1부터 {}까지 짝수의 합은 {}입니다.".format(a, my_sum))

2. 1부터 200까지 3과 4의 공배수(3의 배수이면서 4의 배수인)를 누적하고, 누적한 수가 1000을 초과하면 반복문 탈출, 누적한 수와 반복문 탈출할때의 변수(i)값을 출력
for i in~~~
[출력결과]
빠져나온 수 :156
누적한 수 : 1092

3. 1~100의 정수 중 2의 배수 또는 4의 배수를 역순으로 출력
2와 4의 공배수는 [4]처럼 출력하기
[출력 결과]
[100] 98 [96] 94 [92].....[4] 2
'''

#자료형, 반복문 등응 앞에 한 내용 중에 어렵거나 못 풀겠는 문제 있으면 메일 보내

결과창

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
D
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)
(3, 4)
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45]
[1, 3, 5, 7, 9]
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1
2
3
4
5
6
7
8
9
10
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
Traceback (most recent call last):
  File "C:\김선미\0322.py", line 50, in <module>
    mysum += i #i의 값을 지정
NameError: name 'mysum' is not defined
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
반복 횟수 입력 : 6
0
1
2
3
4
5
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
Traceback (most recent call last):
  File "C:\김선미\0322.py", line 57, in <module>
    for i in range(count) : #반복횟수에 5 입력시 범위 1~4
NameError: name 'count' is not defined
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
불합격
합격
합격
불합격
합격
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
불합격
1번 학생 불합격입니다.
합격
2번 학생 합격입니다.
합격
3번 학생 합격입니다.
불합격
4번 학생 불합격입니다.
합격
5번 학생 합격입니다.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
>>> 5
5
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
합격
1번 학생 합격입니다.
합격
4번 학생 합격입니다.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
2번 학생 합격입니다.
3번 학생 합격입니다.
5번 학생 합격입니다.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
불합격
1번 학생 불합격입니다.
합격
2번 학생 합격입니다.
합격
3번 학생 합격입니다.
불합격
4번 학생 불합격입니다.
합격
5번 학생 합격입니다.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
1번 학생 불합격입니다.
2번 학생 합격입니다.
3번 학생 합격입니다.
4번 학생 불합격입니다.
5번 학생 합격입니다.
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
1번 학생 불합격입니다.
2번 학생 합격입니다.
3번 학생 합격입니다.
4번 학생 불합격입니다.
5번 학생 합격입니다.

2

Traceback (most recent call last):
  File "C:\김선미\0322.py", line 97, in <module>
    print("{} * {} : ".format())
IndexError: tuple index out of range
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
1번 학생 불합격입니다.
2번 학생 합격입니다.
3번 학생 합격입니다.
4번 학생 불합격입니다.
5번 학생 합격입니다.

Traceback (most recent call last):
  File "C:\김선미\0322.py", line 98, in <module>
    print("{} * {} = {} ".format(), (i, j, "=", (i*j)))
IndexError: tuple index out of range
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
1번 학생 불합격입니다.
2번 학생 합격입니다.
3번 학생 합격입니다.
4번 학생 불합격입니다.
5번 학생 합격입니다.

Traceback (most recent call last):
  File "C:\김선미\0322.py", line 98, in <module>
    print("{} * {} = {} ".format(), i, j, "=", (i*j))
IndexError: tuple index out of range
>>> 
========================== RESTART: C:\김선미\0322.py ==========================

[for문]
한국한국
중국중국
일본일본
20
A
B
C
D
for문이 끝난 뒤의 d의 값 :  D
(1, 2)

(3, 4)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(35, 46)
[1, 3, 5, 7, 9]
1~10까지의 합 55
1번 학생 불합격입니다.
2번 학생 합격입니다.
3번 학생 합격입니다.
4번 학생 불합격입니다.
5번 학생 합격입니다.

2 * 1 = 2 
2 * 2 = 4 
2 * 3 = 6 
2 * 4 = 8 
2 * 5 = 10 
2 * 6 = 12 
2 * 7 = 14 
2 * 8 = 16 
2 * 9 = 18 

3 * 1 = 3 
3 * 2 = 6 
3 * 3 = 9 
3 * 4 = 12 
3 * 5 = 15 
3 * 6 = 18 
3 * 7 = 21 
3 * 8 = 24 
3 * 9 = 27 

4 * 1 = 4 
4 * 2 = 8 
4 * 3 = 12 
4 * 4 = 16 
4 * 5 = 20 
4 * 6 = 24 
4 * 7 = 28 
4 * 8 = 32 
4 * 9 = 36 

5 * 1 = 5 
5 * 2 = 10 
5 * 3 = 15 
5 * 4 = 20 
5 * 5 = 25 
5 * 6 = 30 
5 * 7 = 35 
5 * 8 = 40 
5 * 9 = 45 

6 * 1 = 6 
6 * 2 = 12 
6 * 3 = 18 
6 * 4 = 24 
6 * 5 = 30 
6 * 6 = 36 
6 * 7 = 42 
6 * 8 = 48 
6 * 9 = 54 

7 * 1 = 7 
7 * 2 = 14 
7 * 3 = 21 
7 * 4 = 28 
7 * 5 = 35 
7 * 6 = 42 
7 * 7 = 49 
7 * 8 = 56 
7 * 9 = 63 

8 * 1 = 8 
8 * 2 = 16 
8 * 3 = 24 
8 * 4 = 32 
8 * 5 = 40 
8 * 6 = 48 
8 * 7 = 56 
8 * 8 = 64 
8 * 9 = 72 

9 * 1 = 9 
9 * 2 = 18 
9 * 3 = 27 
9 * 4 = 36 
9 * 5 = 45 
9 * 6 = 54 
9 * 7 = 63 
9 * 8 = 72 
9 * 9 = 81 

>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
1
3
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
2
4
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
Traceback (most recent call last):
  File "C:/김선미/연습연습.py", line 21, in <module>
    num +=2
NameError: name 'num' is not defined
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
숫자 입력 : 5
Traceback (most recent call last):
  File "C:/김선미/연습연습.py", line 22, in <module>
    print("1부터 {}까지 짝수의 합은 {}입니다.".format(int(input("숫자 입력 : ")), num))
NameError: name 'num' is not defined
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
Traceback (most recent call last):
  File "C:/김선미/연습연습.py", line 21, in <module>
    my_sum +=2
NameError: name 'my_sum' is not defined
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
Traceback (most recent call last):
  File "C:/김선미/연습연습.py", line 21, in <module>
    my_sum +=a
NameError: name 'my_sum' is not defined
>>> 
========================== RESTART: C:/김선미/연습연습.py ==========================
숫자 입력 : 5
1부터 2까지 짝수의 합은 2입니다.
1부터 4까지 짝수의 합은 6입니다.
>>> 

강의노트