본문 바로가기

카테고리 없음

파이썬 - 기초 문법

 

 

#값 교환

a,b = 10, 20
print(a, b)
a, b = b, a
print(a, b)

 

#변수 타입

a = 12314214213
print(type(a)) # <class 'int'>

b = 12.3231
print(type(b))# <class 'float'>

c = "student"
print(type(c)) # <class 'str'>

 

#출력 방식

print("number")
a, b, c = 1, 2, 3
print(a, b, c)
print("number : ", a, b, c)
print(a, b, c, sep=', ')
print(a, b, c, sep='')
print(a, b, c, sep='\n')
print(a)
print(b)
print(c)
print(a, end=' ')
print(b, end=' ')
print(c)

 

 

#변수입력과 연산자

a = input("숫자를 입력하세요 : ")
print(a)

a,b = input("숫자를 입력하세요 : ").split()
print(a + b) # 23

print(type(a)) # <class 'str'>
print(type(b)) # <class 'str'>


a,b = input("숫자를 입력하세요 : ").split()
a = int(a)
b = int(b)
print(a + b) # 5
print(type(a)) # <class 'int'>
print(type(b))


a,b = map(int, input("숫자를 입력하세요 : ").split())
print(a + b) # 5


a,b = map(int, input("숫자를 입력하세요 : ").split())

print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)


a = 4.3
b = 5
c = a + b
print(type(c)) # <class 'float'>

 

 

# 조건문(if분기문, 다중 if문)

a = 10

if a == 10:
    print("10 입니다.")
else:
    print("10 아닙니다.")
    
    
a = 13

if a >= 10:
    if a % 2 == 1:
        print("10보다 크고 홀수입니다.")
        
        
a = 7

if a > 5 and a < 10:
    print("5와 10사이입니다.")
    
a = 7

if 5 < a < 10:
    print("5와 10사이입니다.")


a = 88

if a > 90:
    print("A")
elif a > 80:
    print("B")
else:
    print("C")

 

 

# 반복문(for, while, break, continue)

a = range(1, 11)
print(list(a))

for i in range(10):
    print(i, end=" ")

for i in range(0, 10, +2):
    print(i, end=" ")
    
a = range(1, 11)
b = list(a)

for i in b:
    print(i, end=" ")
    
for i in range(10, 0, -2):
    print(i)
    
i = 1
while i < 10:
    print(i)
    i = i + 1
    
i = 10

while i > 0:
    print(i)
        
i = 1

while True:
    print(i)
    if i == 5:
        break
    i +=1
    
    i = i - 1


for i in range (1, 10):
    if i % 2 == 0:
        continue
    
    print(i)
    

for i in range(1, 11):
    print(i)
    if i > 15:
        break
else:
    print(13)

 

#반복문을 이용한 문제풀이

n = int(input())

for i in range(1, n+1):
    print(i)
    
    
1) 1부터 n까지 홀수 출력

n = int(input("숫자를 입력하세요 : "))

for i in range(1, n+1):
    if i % 2 == 1:
        print(i)


2) 1부터 n까지 합 출력

n = int(input("숫자를 입력하세요 : "))

sum = 0

for i in range(1, n+1):
    sum = sum + i

print(sum)


3) n의 약수 구하기

n = int(input("숫자를 입력하세요 : "))


for i in range(1, n+1):
    if n % i == 0:
        print(i)

 

 

#중첩반복문

for i in range(5):
    print('i:', i, sep='', end=' ')
    for j in range(5):
        print('j:', j, sep='', end=' ')
    print()
    

for i in range(5):
    for j in range(5):
        print('*', end=' ')
    print()
    

for i in range(5):
    for j in range(i+1):
        print('*', end=' ')
    print()
    

for i in range(5):
    for j in range(5-i):
        print('*', end=' ')
    print()

 

sep (separator):

  • print 함수는 기본적으로 여러 값을 출력할 때, 값들 사이에 공백을 삽입합니다.
  • sep 인수를 사용하면 값들 사이에 삽입할 문자를 지정할 수 있습니다.

end (end character):

  • print 함수는 기본적으로 출력이 끝난 후 줄바꿈 문자를 추가하여 다음 출력이 새로운 줄에 시작되도록 합니다.
  • end 인수를 사용하면 출력이 끝난 후 추가할 문자를 지정할 수 있습니다.

 

#문자열과 내장함수

msg = "It is Time"

print(msg.upper())
print(msg.lower())
print(msg)

tmp = msg.upper()
print(tmp)
print(tmp.find('T'))
print(tmp.count('T'))
print(msg)
print(msg[:2])
print(msg[3:5])
print(len(msg))

for i in range(len(msg)):
    print(msg[i], end=' ')
print()

for x in msg:
    print(x, end=' ')
print()


for x in msg:
    if x.isupper():
        print(x, end=' ')
print()

for x in msg:
    if x.islower():
        print(x, end=' ')
print()


msg2 = "It 3 is happy"

for i in msg2:
    if i.isalpha():
        print(i, end='')
print()
        
tmp = 'AZ'
for x in tmp:
    print(ord(x))
    
tmp = 65
print(chr(tmp))
    


** 자바 ** 

public class Main {
    public static void main(String[] args) {
        String msg2 = "It 3 is happy";

        for (int i = 0; i < msg2.length(); i++) {
            char c = msg2.charAt(i);
            System.out.println(c);
        }
    }
}

 

#리스트와 내장함수(1)

import random as r

b = list()
print()


a = [1,2,3,4,5]
print(a[0])

b = list(range(1, 11))
print(b)

c = a + b
print(c)

print(a)

a.append(6)
print(a)

a.insert(3, 7)
print(a)

a.pop()
print(a)

a.pop(3)
print(a)

a.remove(4)
print(a)

print(a.index(5))

a = list(range(1, 11))
print(a)
print(sum(a))
print(max(a))
print(min(a))
print(min(7, 5))
print(min(7,3,5))
print(a)

r.shuffle(a)
print(a)

a.sort()
print(a)

a.sort(reverse = True)
print(a)

a.clear()
print(a)

 

#리스트와 내장함수(2)

a = [23, 12, 36, 53, 19]

print(a[:3])
print(a[1:4])
print(len(a))

for i in range(len(a)):
    print(a[i], end=' ')
print()


for x in a:
    print(x, end=' ')
print()

for x in a:
    if x % 2 ==1:
        print(x, end=' ')
print()

for x in enumerate(a): # (인덱스, 값)
    print(x)
    

a = (1,2,3,4,5)
# a[0] = 7 튜플은 변경 불가 -> 자바에서 배열 int[] a = [1,2,3,4,5]
print(a)

a = [1,2,3,4,5]
a[0] = 7
print(a)


for x in enumerate(a):
    print(x[0], x[1])
print()

for index, value in enumerate(a):
    print(index, value)
print()


if all(50 >x for x in a):
    print("YES")
else:
    print("NO")
    
# all() 함수는 주어진 iterable(반복 가능한 객체) 내의 모든 요소가 참(True)일 때 참(True)을 반환하는 내장 함수입니다. 

if any(5 >x for x in a):
    print("YES")
else:
    print("NO")

 

Java의 배열과 Python의 튜플은 몇 가지 유사점이 있지만, 중요한 차이점도 있습니다. 다음은 둘의 비교입니다.

유사점

  1. 고정 길이:
    • Java 배열: 배열의 크기는 한 번 생성되면 변경할 수 없습니다.
    • Python 튜플: 튜플의 크기도 한 번 생성되면 변경할 수 없습니다.
  2. 인덱스를 통한 접근:
    • Java 배열: 배열의 요소는 인덱스를 통해 접근할 수 있습니다.
    • Python 튜플: 튜플의 요소도 인덱스를 통해 접근할 수 있습니다.

차이점

  1. 변경 가능성:
    • Java 배열: 배열의 요소는 변경할 수 있습니다. 예를 들어, a[0] = 7은 유효한 코드입니다.
    • Python 튜플: 튜플의 요소는 변경할 수 없습니다. a[0] = 7은 오류를 발생시킵니다.
  2. 자료형:
    • Java 배열: 배열은 같은 자료형의 요소들만 가질 수 있습니다. 예를 들어, int[], String[] 등.
    • Python 튜플: 튜플은 다양한 자료형의 요소들을 가질 수 있습니다. 예를 들어, (1, "Hello", 3.14).
  3. 기능:
    • Java 배열: 기본적인 배열로, 추가적인 메서드나 기능이 없습니다. 배열 관련 작업을 하려면 java.util.Arrays 클래스와 같은 도우미 클래스를 사용해야 합니다.
    • Python 튜플: 튜플은 다양한 내장 메서드와 기능을 제공합니다. 예를 들어, count(), index() 등의 메서드를 사용할 수 있습니다.

#2차원 리스트 생성과 접근

a = [[0]*3 for _ in range(3)]

print(a)

a[0][1] = 1

print(a)

a[1][1] = 2
print(a)

for x in a:
    print(x)

for x in a:
    for y in x:
        print(y, end=' ')
    print()

 

#함수 만들기

def add(a, b):
    c = a + b
    print(c)

add(2, 3)

def add(a, b):
    c = a + b
    return c

x = add(3,2)
print(x)

def add(a, b):
    c = a + b
    return c

x = add(3,2)
print(x)

def isPrime(x):
    for i in range(2, x):
        if x % 2 == 0:
            return False
    return True
    
    
a = [12, 13, 7, 9, 19]

for y in a:
    if isPrime(y):
        print(y, end=' ')

 

 

#람다 함수


def plus_one(x):
    return x + 1

print(plus_one(1))

plus_two = lambda x: x+2
print(plus_two(1))


a = [1,2,3]
print(list(map(plus_two, a)))
print(list(map(lambda x: x+1, a)))