공부날짜: 2025년 4월 19일
공부시간:
파이썬 에서 if란?
조건의 참, 거짓 판단
if, (elif), else로 구성
elif는 else문 안에서 조건문이 복잡해지는 것을 단순화 한것.
들여쓰기에 매우 주의해야함!!!
조건문은 앞에 쓰고 수행문 들여쓰기에 주의
조건문에서 수행을 하지 않고 넘어가고 싶으면 pass를 쓴다
if문의 연산자
대망의 연습문제.
연습 문제 풀이가 중요하다해서 엄청 오래 풀었다.
2번 문제
나는 각각의 수를 입력받고, 그 수들을 직접 비교하는 방법으로 풀이했다.
그러나 리스트로 매우 간편하게 구하는 방법도 있었다.
3번 문제
나는 직접 정렬하고 길이를 구하고
2로 나누어서 숫자 구성수들이 몇개인지 홀,짝을 구하고
특정 자리의 숫자를 꺼내오는 방법을 썼다.
중앙값이란
중앙값 구하는 방법
- 숫자를 오름차순으로 정렬
- 개수가 홀수 → 가운데 있는 값 1개
- 개수가 짝수 → 가운데 두 값의 평균
라고한다.
선생님은 copy를 이용했다. 왜지..? 이유 생각해봐야할듯
바로 길이에다가 2를 나누어 몫을 확인했다. -> 중앙값 위치 확인 위하여
그리고 길이가 홀수이면 바로 중앙값 위치 수를 출력하고
길이가 짝수이면 중앙값 위치수와 그 앞자리수의 평균을 구했다.
4번 문제
본격적으로 응용문제 였다.
나의 풀이는 이렇게 풀었는데 복잡했지만 나름 잘풀었다고 생각한다 ㅎㅎ
우선 첫번째로 반 평균을 구했다. 그리고 둘째자리에서 반올림했다.
그런데 average_ab 에서 둘째자리까지 반올림하라고 정의했는데
my_score - average_ab 가 둘째자리 이상까지 출력됬다.
그래서 평균점수와의 차이에서도 반올림 함수를 썼다,
그리고 if문에서 평균보다 높,낮,같은 경우를 부등호를 사용하여 표현하였다.
그리고 선생님 풀이이다.
선생님은 나보다 평균점수 구하는 경로가 훨씬 간편했다. 잘 익혀둬야 겠다.
그리고 나는 절댓값 함수가 제시되어있었지만 활용하지 않았는데
선생님은 점수차이 계산에 절댓값을 활용했다.
if문에서 숫자가 잘못 입력되었을 경우도 가정했고
점수차이를 절댓값으로 표현했다.
과정을 줄일수 있는 방법들은 잘 익혀놔야겠다.
그리고 마지막 5번 문제 가위바위보
보자마자 헉 풀수있을까.. 했지만
차근차근 접근했다.
나의 풀이
우선 가위바위보 입력 창을 만들었다.
if에 플레이어가 잘못 입력했을 경우를 만들었다. != 문 사용.
else에 바르게 입력했을경우 플레이어와 컴퓨터가 무엇을 냈는지 출력.
그리고 그 이하의 조건문으로 비길경우, 이길경우, 질경우를 작성하였다.
잘푼것 같다.ㅎㅎ
선생님 풀이
선생님도 나랑 비슷하다
내가 한번에 출력되서 더 잘한거 같기도...?ㅎ
선생님은 if에 무승부를 두고
elif에 가위, 바위, 보의 경우의 수를 두고
그 안에서 승리, 패배의 경우를 두었다.
선생님의 코딩이 좀더 체계적이다.
그리고 마지막 잘못입력 else까지.
마지막 딕셔너리를 활용한 풀이이다.
딕셔너리에 승리하는 경우를 가르친다.
그리고 입력창과 출력창을 만든다.
if를 활용하여 딕셔너리에 없는 경우 잘못입력 출력.(그런데 이렇게 하면 나와 컴퓨터가 뭐냈는지 나와서 좀 별로인듯
elif를 써서 나와 컴이 같을 경우 무승부
elif win_dict[computer] == player : 는
elif를 써서 컴퓨터의 선택이 이길 수 있는 값이, 플레이어의 이길수 있는 선택과 같다면, 컴퓨터가 승리
컴퓨터가 이길 수 있는 선택"과 "플레이어의 실제 선택"이 같은지 확인
뒤의 == player는 플레이어가 낸 게, 컴퓨터가 이길 수 있는 선택인지 확인하는 조건이다
컴퓨터가 낸 것이 플레이어를 이길수 잇는가?를 확인
그이외의 상황은 플레이어 승리로 출력된다.
'파이썬 공부' 카테고리의 다른 글
[파이썬 7일차] 집합, 불리언 (0) | 2025.04.18 |
---|---|
[파이썬 6일차-3] 딕셔너리 (0) | 2025.04.17 |
[파이썬 6일차-2] 튜플 (0) | 2025.04.17 |
[파이썬 6일차-1] 리스트 연습 문제 (0) | 2025.04.17 |
[파이썬 5일차-2] 리스트(list) (0) | 2025.04.15 |