whatisthis?

Phython. 파이썬 코딩 기초편-02 본문

WEB STUDY/PHYTHON | BACK-END

Phython. 파이썬 코딩 기초편-02

thisisyjin 2021. 8. 27. 17:19

연산자/수식/숫자처리,랜덤함수

 

<DAY01 Quiz>

 

변수를 이용하여 다음 문장을 출력하시오.

 

변수명 : station

변수값 : "사당", "신도림", "인천공항" 순서대로 입력

출력문장

: XX행 열차가 들어오고 있습니다.

 

(24:36)

 

# 지하철 안내멘트

station="사당"
print(station + "행 열차가 들어오고 있습니다.")

station="신도림"
print(station + "행 열차가 들어오고 있습니다.")

station="인천공항"
print(station + "행 열차가 들어오고 있습니다.")

 

실행결과는 다음과 같다.


 

1.  연산자

 

print(1+1) 
print(3-2)
print(5*2)
print(6/3)

print(2**3) # 제곱
print(5%3) # 나머지 구하기
print(10//3) # 몫 구하기

print(10 < 3) # false
print(4 <= 7) # true
print(10 >= 10) # true

 

결과는 다음과 같다.

 

 

print(1 != 3) # 1은 3과 같지않다. True
print(not (1 = 3)) # 1은 3과 같다는 조건의 반대

print((3 > 0) and (3 < 5)) # 앞뒤항 모두 true여야 true - AND연산
print((3 > 0) & (3 < 5)) # and 를 &로 나타낼 수 있음.

print((3 > 0) or (3 > 5)) # 둘중 하나만 true여도 true - OR연산
print((3 > 0) | (3 > 5)) # or 을 |로 나타낼 수 있음.

print(5 > 4 > 3) # 이어서 쓰면 자동으로 and연산

 

 

 

AND 연산 ( & )  두 조건이 모두 true여야 true가 된다,
 두 조건 중 하나라도 false 면 답은 false.
OR 연산 ( | )  두 조건 중 하나라도 true면 true가 된다.
 두 조건 모두 true여도 당연히 true가 된다.

 

 

 


 

2. 간단한 연산

 

num = 2 + 3 * 4
print(num)

num = num + 2
print(num)

num += 2
print(num)

num *= 2
print(num)

num /= 2
print(num)

 

 

실행 결과는 위와 같다.

num = num + 2  
num += 2

 

둘은 같은 수식이다.

위 수식을 통해 num라는 변수에 저장되어있는 값을 +2를 하여 다시 저장한다.

 

 


3. 숫자 처리 함수

 

print(abs(-5)) # absolute = 절댓값
print(pow(4, 2)) # power함수 = N제곱승

print(max(5, 12))
print(min(5, 12)) 

print(round(3.14)) # round 함수 = 반올림
print(round(4.99))

from math import *
print(floor(4.99)) # floor 함수 = 내림
print(ceil(3.14)) # ceil 함수 = 올림
print(sqrt(16)) # 제곱근

 

abs(값) = 절댓값

pow(A, B) = A의 B제곱

 

max,min = 인수들 중 최대, 최소값

 

 

___

 

 

 

from math import *

 = math라는 라이브러리에서 *(모든것)을 가져온다는 뜻.

 

<math 라이브러리 내 함수들>

floor = 내림

ceil = 올림 (ceiling 천장)

sqrt = sqare root , 제곱근

 

 

 

 

___

 

최종 결과는 다음과 같다.

 

 

 


4. 랜덤 함수 (=난수)

from random import *

print(random())

 

이 또한 random이라는 파이썬 내의 라이브러리에서 *(모든것)을 가져와서

random()함수를 실행하면 된다.

 

총 3번 실행해본 결과 매번 다른 랜덤값이 나온다.

이때, random() 함수는 0.0에서 1.0 미만의 임의의 값을 생성해준다.

 

 

- 다음과 같이 random()함수에 *10을 해주면 0.0에서 10.0 미만의 값이 나오게 된다.

 

이때, 소수점을 없애고 싶다면? > 자료형 중 하나인 int() 함수를 이용할것.

 

from random import *

print(random()) # 0.0 ~ 1.0 미만의 임의의 값
print(random() * 10) # 0.0 ~ 10.0 미만의 임의의 값 
print(int(random() * 10)) # 0 ~ 10 미만의 값

 

from random import *

print(random()) # 0.0 ~ 1.0 미만의 임의의 값
print(random() * 10) # 0.0 ~ 10.0 미만의 임의의 값 
print(int(random() * 10)) # 0 ~ 10 미만의 값

# 만약 0이 나오지 않게 하려면?
print(int(random() * 10) + 1) # 1 ~ 10 까지의 값

 

print(int(random() * 10) + 1)

= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 중 하나가 랜덤으로 나옴.

(+1을 해주기 전에는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 가 나옴)

 

 

응용 > 1부터 65까지 중 랜덤 값을 생성하려면 

print(int(random() * 65) + 1)

과 같이 작성하면 된다.

 

 

from random import *

print(randrange(1, 45)) # 1부터 45 미만의 임의의 값 생성

 

 

 

+)

 

randrange(시작값, 끝값(미만))

randint(시작값, 끝값)

 

 

예> 1-45까지 값을 생성하려면?

1.    int(random() * 45) + 1)

2.   randrange(1, 46)  

-46미만이여야 45를 출력할 수 있기 떄문에.

3.   randint(1, 45)

 

 

 


 

<Quiz>

 

 

당신은 코딩 스터디 모임을 새로 만들었다.

월 4회 스터디를 하는데, 3번은 온라인으로 하고 1번은 오프라인으로 한다.

아래 조건에 맞는 오프라인 모임 날짜를 정해주는 프로그램을 작성하시오.

 

조건1 : 랜덤 날짜여야함.

조건2 : 한달은 28일로 정함.

조건3 : 매월 1-3일은 스터디 준비를 해야하므로 제외한다고 침.

 

예제>
오프라인 스터디 모임 날짜는 매월 x 일로 선정되었습니다.