Python

nomard) python 기초 (1)

hojomu 2023. 3. 6. 11:12

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"를 추가한다.