본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬] Random함수, 문자열 줄 바꾸기

by 석세상 2022. 4. 27.
반응형

지난번 '기초문법(2)'에서 floor, ceil, sqrt를 쓰기 위해서는 모듈을 실행해야 된다고 했다. 어떤 건 모듈이라고 하고 어떤 건 패키지라고도 하고, 또 앞의 두 가지와 함수와 차이는 무엇이고 내 머릿속에서 아직 잘 정리되지 않은 것 같다. 기회를 봐서 위의 3가지에 대한 차이점에 대해 찾아봐야겠다. 그전까지는 용어를 섞어 쓰거나 혼동해도 양해 바란다.

 

Random 함수 사용하기

오늘 실행해볼 Random 함수의 경우도 모듈을 실행해야 함수를 사용할 수 있다. 지난번 math와는 또 조금 형식이 다르다. 아래를 보면 지난번에는 import만 사용해서 불러왔는데 이번에는 from이라는 것이 붙는다.

  • from random import * 를 실행하면 random 함수 및 관련 함수들을 사용할 수 있다
print(random())                     # 0~1 사이의 수 랜덤, 1미만
print(int(random() * 100))

위의 결과를 실행하면 첫 번째 줄에는 0~1 사이의 랜덤 한 숫자가 하나 출력되고, 두 번째 줄을 실행하면 0~100 사이의 수가 나온다. int()는 정수를 의미하며 0~1 사이의 숫자에 100을 곱한 뒤 정수만 나타낸 값이 출력된다는 의미이다.

 

기존에 보지 못했던 '#' 부분은 주석이다. 내가 코딩한 내용이 어떤 것인지 잘 모를 때, 복잡한 내용일 때, 또는 설명이 필요한 경우 다음과 같이 주석을 이용해서 설명을 달 수 있다. 실제 실행에는 아무런 영향을 주지 못하고 코딩하는 '사람'이 알아보기 위해 쓰는 부분이다. 

 

random 모듈에는 몇 가지 함수가 더 내장되어 있는데 'randrange'와 'randint'라는 함수도 사용할 수 있다. 두 함수의 차이점은 아래 예시를 보면 알 수 있다.

  • print(randrange(1,46)) - 1부터 45 사이의 숫자를 랜덤 하게 생성한다.
    • 지정한 범위 내에서 랜덤 한 숫자를 생성한다. 1~46 미만의 수 생성
  • print(randint(1,45)) - 1부터 45까지의 정수를 랜덤 하게 생성한다.
    • 1~45까지에서 랜덤 한 숫자를 생성한다.

 

보시는 바와 같이 randrange는 마지막 숫자 미만, randint는 마지막 수를 포함한다. 또한 randint의 경우는 함수명에 int를 통해 정수라는 힌트가 있어 정수가 출력되는 걸 추측해 볼 수 있지만, randrange 역시 정수만 출력된다. 

 

 

문자열 줄 바꾸기

하나의 문자형 변수에 문장을 입력하는 경우 줄 바꿈까지 포함한 변수값을 기존에 문자형으로 표시한 '~' 또는 "~" 사이에 변수값을 입력하면 에러가 발생한다. 줄 바꿈을 인식하지 못하는 것 같다. 그래서 줄 바꿈이 있는 문자열을 활용하기 위해서는 조금 더 특별하게 따옴표를 사용한다. ''' ~ ''' 또는 """ ~ """의 사이에 해당하는 값을 입력해야 한다. 아래 예시를 보면 이해하기 쉽다.

words = '''
줄바꿈을
한다
'''

print(words)

만약 위와 같이 따옴표 세 개 사이에 입력하지 않는다면 에러가 발생한다. 따라서 줄 바꿈을 인식하기 위해서는 반드시 따옴표 세 개 사이에 입력해야 한다.

728x90
반응형

댓글