'#파이썬'에 해당되는 글 4건

RANDOM

python 2016. 1. 27. 13:15

RANDOM 모듈로 랜덤 숫자 얻기

 

random 모듈은 난수(random number)를 생성하는 데 유용한 많은 함수들을 가지고 있습니다.

randint choice, shuffle등이 있습니다.

 

난수를 뽑기 위해 RANDINT 사용하기

 

randint 함수는 어떤 숫자의 범위 안에서 난수를 뽑아낸다.

 

>>> import random

>>> print(random.randint(1,100))

77

while루프를 사용해 간단한 숫자 맞추기 게임을 만들 때 randint를 사용할 수 있습니다.

 

while True:

  print("Guess a number between 1 and 100")

    guess=input()

    i=int(guess)

    if i==num:

        print("right!!")

        break

    elif i<num:

        print("더 높은 숫자")

    elif i>num:

        print("더 낮은 숫자")

    

70

더 낮은 숫자

Guess a number between 1 and 100

62

더 낮은 숫자

Guess a number between 1 and 100

61

right!!

리스트에서 항목을 무작위로 뽑기 위해 CHOICE사용하기

 

리스트에서 무작위로 항목을 뽑고 싶다면 choice를 사용할 수 있다.

 

>>> import random

>>> desserts=["ice cream", "pancakes", "brownies", "cookies", "candy"]

>>> print(random.choice(desserts))

pancakes

>>> print(random.choice(desserts))

ice cream

 

리스트를 섞기 위해 SHUFFLE 사용하기

 

shuffle 함수는 리스트에 있는 항목들을 섞어서 표출합니다.

 

>>> import random

 

>>> desserts=["ice cream", "pancakes", "brownies", "cookies", "candy"]

 

>>> random.shuffle(desserts)

 

>>> print(desserts)

 

['candy', 'brownies', 'cookies', 'ice cream', 'pancakes']

 

리스트를 출력하면 리스트가 섞여 있는 결과를 확인 할 수 있습니다.

 

'python' 카테고리의 다른 글

time module  (0) 2016.01.27
sys module  (0) 2016.01.27
copy module  (0) 2016.01.27
파일 작업  (0) 2016.01.27
내장함수  (0) 2016.01.27
블로그 이미지

유정쓰

,

copy module

python 2016. 1. 27. 11:16

COPY 모듈을 사용해 복사본 만들기

 

copy모듈은 객체의 복사본을 생성하는 함수들을 가지고 있다.

 

>>> import copy

 

>>> harry=Animal("dog", 6, "pink")

 

>>> harriet=copy.copy(harry)

 

>>> print(family.species)

 

dog

 

>>> print(lovely.species)

 

dog

 

여기서는 객체를 생성하고 family라는 변수에 담은 다음, 그 객체의 복사본을 생성하여 family라고 한다. 이 두개의 객체들은 완전히 다른 객체입니다.

 

>>> my_animals[0].species="cat"

 

>>> print(my_animals[0].species)

 

cat

 

>>> print(more_animals[0].species)

 

cat

 

원본리스트인 my_animals에 있는 Animal 객체중의 하나의 종을 변경하면 more_animals에 있는 것도 변경을 합니다.

종이 바뀐 이유는 copy가 사실상 얕은 복사(shallow copy)를 만든 것이기 때문입니다.  메인 list객체를 복사했지만, 리스트 안에 있는 각각의 객체들을 복사한 것은 아닙니다. 새로운 객체들을 가지지 않은 새로운 리스트를 갖게되며, 그 리스트인 more_animals는 그 안에 동일한 세 개의 객체들을 갖는다.

마찬가지 이유로, 새로운 동물을 첫 번째 리스트(my_animals)에 추가하면 복사본(more_animals)에는 나타나지 않습니다 .

 

>>> sarsh=Animal("shark", 4, "sea")

 

>>> my_animals.append(sarsh)

 

>>> print(len(my_animals))

4

>>> print(len(more_animals))

3

 

여기서 알 수 있듯이, 첫 번째 리스트인 my_animals에 새로운 동물을 추가하면 그 리스트의 복사본인 more_animals에는 추가되지 않는다.

copy 모듈에 있는 deepcopy는 복사된 객체안에 있는 모든 객체의 복사본을 실제로 생성한다. deepcopy를 사용하면 모든 객체들의 복사본을 가진 완벽한 새로운 리스트를 갖게 됩니다.

 

>>> more_animals=copy.deepcopy(my_animals)

 

>>> my_animals[0].species="monkey"

 

>>> print(my_animals[0].species)

 

monkey

 

>>> print(more_animals[0].species)

 

cat

 

'python' 카테고리의 다른 글

sys module  (0) 2016.01.27
RANDOM  (0) 2016.01.27
파일 작업  (0) 2016.01.27
내장함수  (0) 2016.01.27
python/ if elif  (0) 2016.01.27
블로그 이미지

유정쓰

,

파일 작업

python 2016. 1. 27. 11:12

파일열기

 

>>> test_file=open("C:\\Users\\yj\\Desktop\\test.txt")

 

>>> text=test_file.read()

 

>>> print(text)

 

This is my test

 

첫 번째 줄에서 파일 작업 함수들을 가진 파일 객체를 반환하는 open을 사용한다. 두 개의 역슬래쉬()를 쓰는것에 유의한다. 두 번째 줄에서는 파일의 내용을 읽고 text변수에 저장하기 위해 파일 객체가 제공되는 read함수를 사용한다.

 

파일 쓰기

 

open에 의해 반환된 파일 객체는 read외에 다른 함수들도 가지고 있다. 두 번째 매개변수로 "w"를 사용해 새롭고 빈 파일을 생성할 수 있다.

>>> test_file=open("C:\\Users\\yj\\Desktop\\myfile.txt", "w")

 

>>> test_file.write("this is my test file")

 

20

 

>>> test_file.write("What a pretty long hair")

 

35

 

>>> test_file.close()

 

"w"라는 매개변수는 파이썬에게 파일 객체를 읽고 싶은게 아니라 쓰고 싶다고 알려준다. 마지막으로, close함수를 이용해 파일쓰기를 끝내고 싶다고 알려줘야

끝이 납니다.

 

'python' 카테고리의 다른 글

sys module  (0) 2016.01.27
RANDOM  (0) 2016.01.27
copy module  (0) 2016.01.27
내장함수  (0) 2016.01.27
python/ if elif  (0) 2016.01.27
블로그 이미지

유정쓰

,

내장함수

python 2016. 1. 27. 11:10

파이썬의 내장함수

 

ABS함수

abs함수는 숫자의 절대값을 반환한다

 

BOOL함수

bool함수는 참과 거짓의 두 가지 값 중에 하나만 가질 수 있는 데이터 타입을 설명할때 사용하는 함수이다. 하나의 매개변수를 받으며 그 값으로 True 또는 False를 반환한다.

 

DIR 함수

dir(directory의 약자)함수는 모든 값에 대한 정보를 반환한다. 기본적으로 이 함수는 알파벳순인 값과 함꼐 사용될 수 있는 함수다.

 

EVAL 함수

eval(evaluate의 약자)함수는 매개변수로 문자열을 받으며, 파이썬의 표현식인 것처럼 실행된다.

eval함수는 사용자의 입력을 파이썬의 표현식으로 바꿀 때 종종 사용된다.

 

EXEC 함수

exec함수는 eval과 같다. 다만, 좀 더 복잡한 프로그램들을 실행할 떄 사용될 수 잇다는 것만 다르다. eval은 값을 반환하지만 exec는 그렇지 않다.

 

FLOAT 함수

float함수는 문자열이나 숫자를 실수라고 하는 소수점이 있는 부동 소수점 숫자로 변환한다.

 

INT 함수

int 함수는 문자열이나 숫자를 범자연수(,정수)로 변환해준다. 기본적으로 소수점 이하의 모든 것들을 버린다는 의미다.

문자열을 정수로 변환할려고 하면 에러 메시지가 나오는 것에 유의!

 

LEN 함수

len함수는 객체(문자열)의 길이(글자개수)를 반환한다.

len함수는 루프(loop)작업을 할때 유용하다.

 

max 함수와 min 함수

max함수는 리스트, 튜플 또는 문자열에 있는 가장 큰 항목을 반환한다.

문자들을 알파벳 순서가 있으며, 소문자는 대문자 다음에 나오기때문에 t T보다 큰 것을 알 수 있다.

min함수는 max처럼 작동하지만 리스트나 튜플 또는 문자열에 있는 가장 작은 항목을 반환한다는 것이 다르다.

 

RANGE 함수

range함수에 주어지는 처음 두 개의 매개변수는 시작(start)과 끝(stop)이라고 불린다. range함수가 만든 숫자들은 첫 번째 매개변수로 주어진 숫자부터 시작해 두 번째 매개변수보다 하나 작은 숫자에서 끝난다.

range에 증가값(step)이라는 세 번째 매개변수를 추가할 수도 있다.

 

SUM 함수

sum함수는 리스트에 있는 항목들을 더해서 그 합계를 반환한다.

 

 

'python' 카테고리의 다른 글

sys module  (0) 2016.01.27
RANDOM  (0) 2016.01.27
copy module  (0) 2016.01.27
파일 작업  (0) 2016.01.27
python/ if elif  (0) 2016.01.27
블로그 이미지

유정쓰

,