python 기초 개념 😫
어려워 진다...
유튜브 '스타트코딩'채널 토대로 공부
.
.
.
계속 업데이트 중
# 형태
for 변수 in 리스트
명령블록
# 기본예제
for a in [1, 2, 3, 4]
print(a)
# 예제 (for + if문)
names = ['티모', '리신', '이즈리얼']
for name in names:
if name == '티모':
print(name + '는 탑 챔피언입니다.')
elif name == '리신':
print(name + '는 정글 챔피언입니다.')
else name == '이즈리얼':
print(name + '는 원딜 챔피언입니다.')
# 형태 : range(10) => 0~9까지 순서열을 반환
# 기본예제
for i in range(60):
print(i+1, '분')
# 형태 : range(시작숫자, 끝숫자+1)
range(1, 10) #=> 1~9까지 숫자
# 형태 : range(시작숫자, 끝숫자+1, 단계)
range(1, 10, 2) #=> 1, 3, 5, 7, 9
range(10, 1, -1) #=> 10, 9, 8, 7, ... , 2
# 예제1
for i in range(1, 11):
print(i, "번째 페이지입니다.")
# => 1, 2, 3, ... 10번째 페이지입니다. 출력됨
# 형태
while 조건:
명령블록 # 조건이 참이면 무한 반복
# while 기본예제
count = 0 # 젤 중요한 조건, 초기화!
while count < 5:
print (count, "번째 반복입니다")
count = count + 1 # ==> 0, 1, ... 4
# for 기본예제
for count in range(5):
print(count, "번째 반복입니다" # ==> 0, 1, ... 4
# Q1. 프로그램 사용자로부터 자연수를 입력 받고, 0부터 자연수까지의 합계를 출력하세요.
a = int(input("자연수를 입력하세요. >>>"))
sum = 0 #젤 중요한 조건, 초기화하기
for i in range(1, a + 1):
sum = sum + i
print(sum)
## 넘 어렵..ㅋ ㅠㅠ 하나하나 따져보자.
## i = 1, sum = 0 + 1
## i = 2, sum = (0 + 1) + 2
## i = 3, sum = ((0 + 1) + 2) + 3
## ... 중략
## i = a, sum = 0 + 1 + 2 + 3 + ... + a
### => 그래서 결과적으로 0부터 자연수 a까지 값 모두 더한 값
# Q2. 사용자로부터 -1을 입력 받으면 프로그램이 종료되는 프로그램을 작성해보세요.
print("프로그램 시작")
a = int(input("종료하려면 -1을 입력하세요:"))
while a != -1:
a = int(input("종료하려면 -1을 입력하세요:"))
print("프로그램 종료")
# 또는 (if문, break 사용)
print("프로그램 시작")
while True: # 조건이 참일 때 무한반복하겠다.
a = int(input("종료하려면 -1을 입력하세요.>>>"))
if a == -1:
print("프로그램 종료")
break
# Q3. 다음과 같이 프로그램이 동작하도록 코드를 작성해보세요.
# (스타트 코딩 파이썬 기초 8강 반복문 예제 3번)
while True:
a = int(input(("[메뉴를 입력하세요]" + "\n" + "1.게임시작 2.랭킹보기 3.게임종료 >>>")))
if a == 1:
print("-> 게임을 시작합니다.")
elif a == 2:
print("-> 랭킹보기")
elif a == 3:
print("-> 게임을 종료합니다.")
break
else:
print("다시 입력해 주세요.")
# Q1. 완성 모양 :
# *
# **
# ***
# ****
# *****
for i in range(1, 6):
stars = "*" * i
print(stars) # print()안에 ("*" * i)를 바로 넣어도 된다
Q2. 완성 모양 :
# *****
# ****
# ***
# **
# *
# 풀이1. -------------------------------------------------
for i in range(6, 1, -1):
print("*" * (i - 1))
# range 세번째 자리에 '-1'을 넣으면 거꾸로 카운트 된다고 하는데 그럼
# range(1, 6, -1) 이라 써야 되는거 아니냐고 ㅠ ㅠ ㅠ ㅠ ㅠ ㅠ ㅠ
# 응 아니고 말 잘 듣자. range(6, 1, -1)
# 풀이2. -------------------------------------------------
for i in range(1, 6):
print("*" * (6 - i))
Q3. 완성 모양 :
# *
# **
# ***
# ****
# *****
for i in range(1, 6):
print(" " * (5 - i) + "*" * i)
Q4. 완성 모양 :
# *****
# ****
# ***
# **
# *
for i in range(1, 6):
print(" " * (i - 1) + "*" * (6 - i)) # 내 1차 답안
for i in range(5):
print(" " * (i) + "*" * (5 - i)) # 내 2차 답안
# 형태
def 함수이름(매개변수):
명령블록
...
return 리턴값
# 기본형태 예시
def sum(a, b):
result = a + b
return result
# 사용하는 방법
def sum(a, b):
result = a + b
return result
# 예시
x = sum(1, 2)
y = sum(3, 4)
print(x) # => 3
print(y) # => 7
# 매개변수가 없는 함수
def 함수이름():
명령블록
...
return 리턴값
# 예제 : 1~9까지 숫자 중 랜덤으로 뽑아
import random # 실행중인 파일안에 다른 파일을 넣어두는 것(?)
def getRandomNumber():
number = Random.randint(1, 10)
return number
print(getRandomNumber())
# 매개변수가 없는 함수
def 함수이름():
명령블록
...
return 리턴값
def getRandomNumber():
number = Random.randint(1, 10)
rerurn number
print(getRandomNumber())
# 리턴값이 없는 함수
def 함수이름(매개변수):
명령블록
...
def printName(name):
print(name)
# 예제
def printName(name):
print(name)
printName("스타트코딩") # 스타트코딩 출력됨
# 매개변수x 리턴값x 경우
def 함수이름():
명령블록
def sayHI():
print("안녕")
sayHI() # 안녕 출력됨
# 예제문제
# Q. 로도 예제 프로그램 예상번호 만들기
## 1. 로또 번호 6개를 생성
## 2. 로또 번호는 1~ 45까지의 랜덤한 번호
## 3. 6개의 숫자 모두 달라야 함
## 4. 로또 번호 생성함수를 작성하고 사용한다
import random
lotto_num = [] # 빈 로또 번호 리스트 생성
def getrandomnumber():
number = random.randint(1, 45)
return number
count = 0 #횟수를 저장할 변수
while True:
if count > 5:
break
random_number = getrandomnumber() # 로또 번호 하나 뽑기
if random_number not in lotto_num: # 로또 번호 리스트 안에 뽑은 로또 번호가 없으면
lotto_num.append(random_number) #로또 번호 리스트에 뽑은 로또 번호를 추가해라
count = count + 1
print(lotto_num)
# 따라 적긴 했는데 이해가 안 된다.
-- 위에 문제 참고 링크 : https://bit.ly/3vLGfBr
# 함수를 사용하지 않은 경우
print("안녕하세요, 뷔님"
print("현재 프리미엄 서비스 사용기간이 30일 남았습니다.")
print("안녕하세요, 정국님"
print("현재 프리미엄 서비스 사용기간이 20일 남았습니다.")
print("안녕하세요, 진님"
print("현재 프리미엄 서비스 사용기간이 10일 남았습니다.")
# 함수를 사용한 경우
def print_message(name, date):
print("안녕하세요", name, "님")
print("현재 프리미엄 서비스 사용기간이", date, "일 남았습니다.")
print_message("뷔", 30)
print_message("정국", 20)
print_message("진", 10)
# 함수 만들기
def 함수이름(매개변수1, 매개변수2)
명령블록
return 결과값
# 예제
def sum(a, b):
result = a + b
return 결과값
# 함수 사용하기
# 형태 : 함수이름(인자1, 인자2)
print(sum(1, 2))
## => 인자1인 1이 매개변수1인 a로, 인자2인 2가 매개변수 2로
## 즉 print(sum(1, 2)) == print(3)