nomard) python 기초 (1)
https://nomadcoders.co/python-for-beginners
1 _ 파이썬 기초 문법
: 기본적으로 print() 같은 명령어는 똑같이 쓰인다.
- 정보를 입력 받고 싶을 때
input("사용자에게 하고싶은 말")
: input을 이용하면 사용자에게 값을 입력받는 것은 물론 특정한 값을 입력해달라고 명시할 수 있다.
input으로 입력받은 값은 string 형태이므로 값이 숫자라면 int(input()) 으로 바꿔서 저장해야한다
변수 = int(input("숫자를 입력해주세요"))
2 _ 조건문 ( if / else / elif )
if 문
if condition:
실행문
else 문
if condition:
실행문
else:
실행문
elif 문
if condition:
실행문
elif condition:
실행문
else:
실행문
조건식의 종류
A and B
-> a 와 b 둘다 만족시켜야 참
A or B
-> a 와 b 둘중 하나만 만족시키면 참
- 다른 프로그램 언어들과 거의 비슷하고 실행문을 중괄호{ } 에 넣는게 아닌
: 이후 줄을 바꾸고 tap 1번 or 스페이스바 2번으로 구분하는 점이 다르다.
3 _ 라이브러리
: python에는 사용자의 편의를 돕기위해 다양한 function들이 라이브러리에 저장되있다.
라이브러리의 기능을 사용하려면 라이브러리를 먼저 불러와야한다.
예시로 random module을 사용해보자
# 먼저 모듈에서 사용하고싶은 기능을 불러와야한다
from random import randint
a = randint(1,50) # 불러온 기능을 사용할 수 있게 된다.
4 _ while
while 조건문:
실행문
위와 같은 형태를 가지고 있으며 조건문이 참이라면 실행문을 무한히 실행시킨다. ( 따라서 조건문이 거짓이 되도록 장치를 마련해야한다. )
distance = 0
while distance < 20:
print("이동한 거리 : ", distance)
distance++
- distance가 20이 될 때 까지 계속 증가하다가 20이 되면 while문을 멈출 것이다.
while문을 이용해 숫자 맞추기 게임 만들기
from random import randint
pc_choice = randint(1,50)
playing = True
while playing:
user_choice = int(input("숫자를 입력하세요"))
if user_choice == pc_choice:
print("you won!")
playing = False
elif user_choice > pc_choice:
print("Lower!")
elif user_choice < pc_choice:
print("higher!")
- 1 ~ 50 까지의 숫자 하나가 pc_choice에 저장되고 유저가 숫자를 입력하면 그 숫자와 pc_choice가 같은지 비교한다.
두 수가 같을 때 while 문을 종료한다.
5 _ python의 데이터 구조
: python에는 3가지 데이터 구조가 있다.
1) List : 배열(array)과 비슷한 친구
list 선언
days_of_week = ["Mon","Tue","Wed","Thur","Fri"]
** string이나 number같은 것들이 내부에 가지고 있는 function은 method 라고 부른다.
메소드는 데이터를 변환해주고 데이터에 결합된 function을 말한다.
데이터에 결합되있지 않다면 function이라고 부른다.
list와 결합된 메소드도 많다. 그 중 몇 가지만 살펴보면
days_of_week.append(값)
-> 값을 리스트의 맨 뒤에 추가한다.
days_of_week.remove(값)
-> 리스트에서 값과 같은 요소를 삭제한다.
days_of_week.clear()
-> 리스트 내부에 저장된 값을 모두 삭제한다.
list = [ 1234, "문자열" , [1,2,3], True ]
-> 리스트 내부에는 타입에 관계없이 어떤 값이라도 넣을 수 있다
list[index] 로 호출 할 수 있는데 index가 음수라면 뒤에서부터 순서를 센다.
2) Tuples : 튜플은 list와 비슷하지만 내부에 값을 변경할 수 없다. ( 메소드 기능도 훨씬 적다 )
** 다만 튜플 전체를 재선언하는 것은 가능하다.
Tuples 선언
days = ("Mon", "Tue", "Wed")
3) dictionary : key와 값이 묶여서 배열처럼 나열됨
dictionary 선언
player = {
'name' : 'nico',
'age' : 12,
'ailve' : True,
'food' : ["hamberger" , "sandwitch"]
}
dictionary를 선언하는 중괄호 내부에서는
'key' : value 로 요소들을 선언하고
player.get('age') 명령어로 key값을 호출해서 값을 꺼내올 수 있다.
player.pop('key')
-> 해당 key를 삭제한다
player['key'] = 값
-> 해당 key와 값을 dictionary에 저장한다.
player['food'].append("banana")
-> food 배열 list 내부에 "banana"를 추가한다.