728x90
# 리스트의 다른 기능들 , 리스트 자르기
리스트(배열)을 다르게 나타낼 수 있습니다. 어제처럼 1부터 10까지 저장하려면 하나하나 다 써야했지만
반복문을 이용하여 더 쉽게 나타낼 수 있습니다.
c = [i for i in range(1,11)]
print(c)
반복문은 1부터 10까지 나타내는 것과 같게쓰고 그앞에 i를 하나 더 붙여주면 일일이 다 쓰지 않고도 저장할 수 있습니다.
여기서 또 랜덤으로 숫자를 나타낼 수 있습니다. random을 이용해야 하는데
import random
random.shuffle(c)
랜덤을 쓰기전에 import random을 쓰는건 똑같습니다. 다음으로 shuffle이라는 것을 쓰면? 1부터 10까지 랜덤으로 저장됩니다.
# 로또번호 추출(복원추출)
# 로또번호 6자리를 구하여 화면에 출력해보세요 (list와 random모듈을 사용)
# 1부터 45사이의 랜덤 숫자 6개 - 중복 없음
# 복원 추출 : 같은 번호가 다시 나올 수 있는 랜덤 추출
import random
lotto = []
while len(lotto) < 6 :
n = random.randint(1,45)
if not lotto.count(n) : # not 있으면 = 없으면
lotto.append(n)
lotto.sort()
print(lotto)
# 비복원 추출 : 같은 번호가 절대로 다시 나올 수 없는 랜덤 추출
list = [i for i in range(1,46)] # 1 ~ 45
# print(list)
random.shuffle(list)
# print(list)
for i in range(6) : # 0 ~ 5
print(list[i])
랜덤에 걸맞는 로또 문제입니다. 두가지로 나뉘는데 같은번호가 나올 수 있는 랜덤추출과 나올 수 없는 랜덤추출로 나뉩니다.
코드는 비복원 추출이 더 짧습니다.
다음은 리스트 자르기 입니다.
리스트를 원하는 만큼 잘라낼 수 있습니다.
list = [i for i in range(10 , 101 , 10)]
우선 10부터 100까지 10씩 더한 값들을 나타냅니다. (10 , 20 , 30 .. ~~ 100)
print(list[0:2]) # list 의 0번부터 2번 전까지
print(list[:2]) # 위와 같은 의미(0은 생략 가능)
list다음 대괄호를 써서 자르고 싶은만큼 나타냅니다. 위처럼 표현하면 0번부터 2번까지 값을 잘라낼 수 있습니다. 0은 생략가능 합니다.
print(list[4:-1]) # 4번 위치부터 마지막 바로 전까지
이렇게 나타내면 50부터 90까지 나타납니다.
728x90
'Python' 카테고리의 다른 글
| Python_10Day (0) | 2019.02.26 |
|---|---|
| Python_09Day (0) | 2019.02.25 |
| Python_07Day (0) | 2019.02.21 |
| Python_06Day (0) | 2019.02.20 |
| Python_05Day (0) | 2019.02.19 |