본문 바로가기
Hello World/Python

Python - 조건문 if-else문 / 연산자 / 문법 실습 [개발스터디 기몬]

by 기몬 2023. 3. 16.
728x90
반응형

선택

조건문 
- 문제를 해결할 때 어떤 조건에 따라서 두개 또는 
여러 개의 실행 경로 가운데 하나를 선택해야 하는 경우

if-else 문 
전체적인 구조 
if score >= 60 :
      print("pass")
else : 
      print("fail") 

=======================

관계 연산자
- 관계 연산자 (relational operator) 는 두개의 피연산자를 비교하는데 사용.
예를 들면 "변수 x가 변수 y보다 큰지, 를 따지는 데 사용된다. 

관계연산자.
x==y
x!=y
x>y
x<y
x>=y
x<=y

- 관계 수식은 참이나 거짓이라는 값을 생성한다. 
=======================
블록 
- 만약 조건이 참인 경우에 여러 개의 문자이 실행되어야 한다면 ?
if score >= 90 :
      print ("pass")
      Print ("nice!")
- 블록은 들여쓰기로 구분한다.

문자열의 중간문자
- 문자열의 중앙에 있는 문자를 출력. 

 

=======================



논리 연산자 
  - 논리 연산자 (logical operator)는 여러개의 조건을 조합하여 
참인지 거짓인지를 따질 때 사용. 
AND (논리곱), OR(논리합), NOT(논리부정)이 있다. 
- 논리 연산자(logical operatio) 는 여러 개의 조건을 조합하여 
참인지 거짓인지를 따질 때 사용한다. 
AND(논리곱), OR(논리합), NOT(논리부정)이 있다.

 

논리 연산자에서 표기는 영문 그대로 사용 : and / or / not

 

=======================

논리 연산자에서 표기는 영문 그대로 사용 : and / or / not

In [31]: c = 'A'

In [32]: not('A'<= c and c <='z')
Out[32]: False

In [33]: 'A'<= c
Out[33]: True

In [34]: c <='z'
Out[34]: True

In [35]: not('A'<= c and c <='z')
Out[35]: False

In [36]: 'A'<= c and c <='z'
Out[36]: True

In [37]: not('A'<= c and c <='z')
Out[37]: False


범위 지정시 and 생략 가능 .
In [38]: not('A'<= c <='z')
Out[38]: False

=======================

 


2진수 10진수 확인
In [17]: bin(1<<10)
Out[17]: '0b10000000000'

In [18]: bin(1<<2)
Out[18]: '0b100'

In [19]: bin(1<<10)
Out[19]: '0b10000000000'

In [20]: 1<<10
Out[20]: 1024

In [21]: bin(1<<35)
Out[21]: '0b100000000000000000000000000000000000'

In [22]: 1<<35
Out[22]: 34359738368


비트 쉬프트 연산자 
<<  >> &


 

=======================

in 연산 

컬랙션에서 어떤 연산이 포함 되어 있는지 아닌 지 
어떤 묶음 안에 찾으려는 것이 있는지 확인해 볼때 사용. 

'A'  in 'ABCDEF'

In [1]: 'ABCDE'
Out[1]: 'ABCDE'

In [2]: 'A' in 'ABCDE'
Out[2]: True

In [3]: 10 in [1, 3, 5, 10]
Out[3]: True

In [4]: 6 in [1, 3, 5, 10]
Out[4]: False

'in' operator check the true or false.
 can use at if-else statements

 

 

 

=======================

연속적인 if-else 문 
음수, 양수의 구별
중첩 if-else 문 (nesting if-else)
윤년 평년 
문자열과 숫자 구별 

- 관계 연산자는 >=, <=. == 연산자를 
사용하여 2개의 피연산자의 크기를 비교한다. 
- 논리 연산자는 and, or, not을 사용하여 논리적인 연산을 수행한다.
- if-else 문은 조건이 참이면 하나의 블록을 실행하고 그렇지 않으면
다른 블록을 실행한다. 

=======================
문자열을 숫자로 변경 할 때 int 

In [10]: int(input("year >>>"))+ 100
year >>>2020
Out[10]: 2120

숫자열을 문자로 변경 할 때 str

문자열을 숫자로 변경 할 때 int

 

python은 index에 음수를 줄 수 있다 . 
str1 [] = {'h', 'e', 'l', 'l', 'o'}

What is Indexing and slicing in Python?
What are Indexing and Slicing? 
Indexing: Indexing is used to obtain individual elements. 
Slicing: Slicing is used to obtain a sequence of elements. 
Indexing and Slicing can be be done in Python Sequences types 
like list, string, tuple, range objects.

index slicing 
python
In [84]: str1
Out[84]: 'Hello'

In [85]: str1[1:3]
Out[85]: 'el'

java jshell
jshell> String str1 = "Hello"
str1 ==> "Hello"

jshell> str1
str1 ==> "Hello"

jshell> str1.substring(1,3)
$5 ==> "el"

python 에는 리스트가 있다. 자바의 배열과 같음.. 
 python 에는 ++ , -- 연산자가 없다. 

=======================

python list
파이썬의 리스트 [ ]
- 리스트의 인덱스는 항상 0부터 시작. 
인덱스의 시작위체에서의 오프셋으로 생각할 것. 

 

. append() : 원소를 추가하는 것 . 
python list create


파이썬의 다차원 리스트를 사용할 때 Numpy 를 이용한다.
(외부라이브러리인 numpy 설치 후 사용~)
=======================
Python has only primitive type. 
variable = value 
무조건 실수 연산이 된다. / float 실수계산 , // int 정수계산,  제곱구하기  ** 지수계산
python에서는 ' ' 사용하는게 일반적인 방법이다.

 

 

=======================
ipython에서 실행한 ord 
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[39], line 1
----> 1 'C'-c

TypeError: unsupported operand type(s) for -: 'str' and 'str'

>>>
In [40]: ord('C')-ord(c)
Out[40]: 2
---------------------------------------------------------------------------
In [46]: c
Out[46]: 'A'

In [47]: chr(ord(c) + 1)
Out[47]: 'B'

In [48]: c = chr(ord(c) + 1)

In [49]: c
Out[49]: 'B'

In [50]: c = chr(ord(c) + 1)

In [51]: c
Out[51]: 'C'

In [52]: c = chr(ord(c) + 1)

In [53]: c
Out[53]: 'D'
----------------------------------------------------------------------------
ipython 에서 실행한 문제풀이 

=======================Q> 사과를 담는 바구니의 수를 구하기
사과의 수가 123일때 하나의 바구니에 10개의 사과를 담을 수 있다면 
13개의 바구니가 필요한 코드
>>>

In [54]: numOfApples = 123

In [55]: sizeOfBucket = 10

In [56]: numOfApples/sizeOfBucket
Out[56]: 12.3

In [57]: numOfApples//sizeOfBucket
Out[57]: 12

In [58]: numOfApples//sizeOfBucket + 0 if numOfApples%sizeOfBucket==0 else 1 # wrong answer
Out[58]: 1

In [59]: numOfApples//sizeOfBucket + (0 if numOfApples%sizeOfBucket==0 else 1)
Out[59]: 13

 

 

=======================

 

조건문 if-else 와 논리연산자를 삼항연산자로 작성하여서 

음수, 양수, 0 를 판별해 보기 

>>>

 

In [78]: num = 10

In [79]: "양수" if num>0 else "음수" if num <0 else "영"
Out[79]: '양수'

In [80]: "양수" if num>0 else "음수" if num <0 else "영"
Out[80]: '양수'

In [81]: num = -10

In [82]: "양수" if num>0 else "음수" if num <0 else "영"
Out[82]: '음수'

In [83]: num = 0

In [84]: "양수" if num>0 else "음수" if num <0 else "영"
Out[84]: '영'

 

728x90
반응형

댓글