본문 바로가기
AI 웹개발반

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

by 째깍단 2023. 3. 20.

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(정수)를 딱히 넣지 않았다

 

 

 

 

 

 

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

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