AI 웹개발반

[TIL] 파이썬 기초2 _문제풀이

째깍단 2023. 3. 20. 22:44

2주차 시작.

이번주 발제는 강의듣기, 미션하기, 개인과제 제출하기.  (아직 남은 웹강의도 계속 들어야 함.. 동기들보다 많이 바쁠 예정이다..ㅠㅠ)
새로운 팀이 발표되었다. 똑같이 B5에 배정되어서 방은 그대로:)

 

오늘 강의는 파이썬 기초 문법을 듣고 활용하는 것을 연습하는 위주로 흘러갔다.

내일배움단 강의에서 듣던 것보다 조금더 차근차근 기초를 설명하고 쌓아가는 느낌이라 듣기 수월했다.

아마 더 어려운 걸(문법 활용) +모르는거(주식)랑 합해서 해봐서 그런 것 같음... 어떻게 배우는 것도 스파르타로 하고있네..

 

 

----

 

강의들으면서 이해한대로 정리해보았다.

 

 

> 프로그래밍 언어는

내가 하고 싶은 말을 컴퓨터가 사용하는 말인 전자신호(011001)로 바꾸어주는 번역팩을 설치했다고 보면 된다.

머신러닝, 데이터쪽에서 많이 사용한다.

 

> 변수란…

변수 = 숫자, ‘문자열’, True, False 

값이 담겨있는 곳이고, '메모리에 올려둔다' 라고 표현한다

 

 

> 문자열 다루기

리스트 & 딕셔너리 형

list는 순서대로, []안에 넣는다.

list 에는 문자열, 숫자, 참 거짓, 그리고 리스트도 또 담을 수 있다!

 

특정 list 요소 뽑아내기 

a_list = ['사과','배','감',['딸기','자몽']]

print(a_list[3][1])

a_list > [] > []  라고 생각하면 된다. 마치 폴더 안에 폴더가 있듯이.

출력값 = 자몽

 

 

dictionary 는 key값 : value값 으로 표현, {}안에 넣는다.

 

예를 들어 people dict안에 이런 값이 있을때,

people = {name: john, age:30}

각 요소를 출력하는 방법은 다음과 같다

for person in people:
    print(person['name'],person['age'])

> 더 깔끔하게 쓰기

for person in people:
    name = person['name']
    age = person['age']
    print(name,age)

 

 

 

 

오늘 강의 들으면서 쓴 퀴즈 풀이들.

 

——

짝수만 출력하기 퀴즈  #성공!

 

for num in num_list:

    if(num%2==0):

        print(num)

 

num%2==1이면 홀수!

 

——

짝수 개수 구하기 퀴즈. #실패

 

검색하여 len(),  count()함수를 써야하나 하고 온갖걸 print 안에 넣어봤는데 되지 않았다. 힌트 듣고 흘려보내버린 나....바보..

len()는 리스트 요소의 길이를 구하는 것이고, count()는 세어주는게 맞지만 특정 요소가 몇 개있는지 세어주는 것임

 

단순히 변수하나를 설정하고

For문이 반복되어 값을 구할때마다 변수 +1 하면 되는거였음

  • 변수 += 1

이렇게 쓸수도 있음

 

——

모든 숫자 더하기    #성공?

for num in num_list:

    summary = sum(num_list)

print(summary)

 

해설에서는 변수와 변수값 0을 설정하고 변수에 num을 더하는 방식으로 진행했다.

sum = 0

for num in num_list:

    sum = sum + num

print(sum)

 

생각해보건데 새 값을 넣고싶을때 어려울 수 있겠다는 생각이 들었다… 음….. sum이 0으로 설정되어 들어가있는 거면 결국 같은거 아닌가? 이후에 sum 값에 변수를 더할 수 있도록 바꾸면 문제가 생기는건가?  List에 추가하면 결국 같은 for 문을 돌아서 둘다 같은 값이 나올텐데.. 흠 궁금하다 궁금해

 

——

가장 큰 값 구하기. #성공.애매한

는 max, min을 쓰면 되는 것으로 알고 있지만

print(max(num_list))

여기서는 변수 설정해서 for문으로 굴리는걸 원하는 거겠지

 

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

 

maxnum = num_list[0]

print(maxnum)

해서 첫번째 요소를 가장 큰 숫자로 적용하고, for문 안에서 비교해서 굴리면 되는데..

 

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

 

maxnum = num_list[0]

 

for num in num_list:

    maxnum = maxnum < num

print(maxnum)

 

?? True가 나온다ㅋㅋㅋ

 

 

for num in num_list:

    if maxnum < num :

        maxnum = input(num)

print(maxnum)

 

이렇게 하면 영원히 작동되는 듯.. input이 뭐길래..

> 문자열로 바꿔주는거라서 연산이 안되는구나;

 

 

for num in num_list:

    if maxnum < num :

        maxnum = int(num)

print(maxnum)

 

성공! 해설에는 int(정수)를 딱히 넣지 않았다

 

 

 

 

 

 

이번주는 파이썬 공부하면서.. 지난주 미니프로젝트에 시간부족으로 구현하지 못했던 기능들을 넣어 발전시켜보고싶다.

밀린 웹강의도 잊지말고 얼른 듣자