배열
반대로 숫자로 갈 경우 역순으로 간다
arr = ["오리", "거위"]
#ECNA Script 규약에 맞춰 만듬 (자바스크립트와 흡사한 구조를 가짐)
print(arr[0], arr[1]) # 오리 거위
print(arr[-1], arr[-2]) # 거위 오리
메서드
- 삽입
- 배열.append(value)
- 배열.insert(index, value)
- 길이
- len(배열)
arr = [1, 2, 3]
arr.append(4)
# 뒤에 붙임 자바스크립트의 push와 같음
print(arr) # [1, 2, 3, 4]
# 맨끝에 넣어주기 위해서는 index사이의 값을 넣어줘야함
#arr.insert(4, 5) # 원하는 index에 value값을 넣음
arr.insert(len(arr), 5) # 원하는 index에 value값을 넣음
print(arr) # [1, 2, 3, 4, 5]
arr | 1 | 2 | 3 | ||||
index | 1 | 2 | 3 | 4 |
- 생성
- 배열 = range(범위 숫자)
함수형 배열 - list(배열)
함수형 배열을 일반 배열로 변환해주는 메서드
- 배열 = range(범위 숫자)
# 함수형 배열
arr = range(5)
print(arr) # range(0, 5) 0은 default값
# list 함수형 배열에서 배열로 변환
print(list(arr)) # [0, 1, 2, 3, 4]
# 1에서 5까지 출력
arr = range(1, 5+1)
print(list(arr))
반복문
for문
for i in range(5) : # 0 ~ 4까지
print(i) # item
배열 출력
index도 넣고 싶을 땐 enumerate(배열)
arr = ["오리", "거위", "참새"]
'''
for i in range(len(arr)):
print(arr[i])
'''
for i in arr:
print(i)
arr = ["오리", "거위", "참새"]
for idx, i in enumerate(arr):
print(idx, i)
문제
# 1에서 10까지의 합을 구하기
sum = 0 # 더한 값을 저장해줄 변수
for i in range(1, 10+1):
sum += i
print("1부터 10까지의 합 >>", sum)
# 첫수를 입력하시오 1
# 끝수를 입력하시오 4
# 1에서 4까지 합은 10입니다.
a = input("첫수를 입력하시오")
b = input("끝수를 입력하시오")
sum = 0
for i in range(int(a), int(b)+1):
sum += i
print("{}에서 {}까지 합은 {}입니다.".format(a, b, sum))
랜덤 함수
어떤 함수를 import되었는 가의 차이로 호출 방식이 달라진다
1. from random import random
from random import random
rnd = random()
print(rnd)
2. import random
import random
rnd = random.random()
print(rnd)
random은 0 <= x < 1사이의 값을 출력한다
랜덤 함수는 많은 시도를 할 수록 중간값으로 수렴한다 (완전한 랜덤이 아니다)
from random import random
sum = 0
for i in range(100):
rnd = random()
sum +=rnd
print("100번의 평균 >> ",sum/100)
해당 결과를 시도해보면 0.5와 가까운 값을 얻을 수 있다.
문제
# 문제 랜덤함수를 이용해서 0.5보다 크면 홀 / 작으면 짝
from random import random
ran = random();
if ran > 0.5 :
print("홀")
else :
print("짝")
# random을 이용하여 1~9까지만의 정수를 출력하시오
from random import random
'''
ran = random()*(9-1)+1
print(round(ran))
'''
for i in range(100) :
rnd = int(random()*9)+1
print(rnd, end=",")
출력 자바와 비교
java | python |
System.out.println("abc") | print( "abc" ) print( "abc" , end="\n") |
System.out.print( "abc" ) | print( "abc" ,end="") |
로또 문제
from random import random
arr = [1, 2, 3]
for i in range(10):
rnd = int(random()*3)
temp = arr[0]
arr[0] = arr[rnd]
arr[rnd] = temp
print(arr)
from random import random
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(10):
rnd = int(random()*9)
temp = arr[0]
arr[0] = arr[rnd]
arr[rnd] = temp
print(arr[0], arr[1], arr[2])
# 로또 생성
from random import random
arr = list(range(1,45+1))
for i in range(10000):
rnd = int(random()*(len(arr)))
temp = arr[0]
arr[0] = arr[rnd]
arr[rnd] = temp
lotto = [arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]]
lotto.sort()
print(lotto)
'Python' 카테고리의 다른 글
6/26 Homework - 가위바위보 (0) | 2024.06.26 |
---|---|
[Python] 클래스 (0) | 2024.06.26 |
[Python] 함수 (0) | 2024.06.26 |
6/25 Homework (0) | 2024.06.25 |
[Python] OT / 변수 / 연산자 / if / input (0) | 2024.06.24 |