변수 = 값
변수 선언하기
변수 선언은 변수를 생성하는 것을 의미함
변수에 값 할당하기
변수에 값을 넣는 것을 의미함
변수를 참조하기
변수에서 값을 꺼내는 것을 의미함
변수 안에 있는 값을 사용하는 것을 변수 참조라고 함
연산자 이름 | 설명 |
---|---|
+= | 숫자 덧셈 후 대입 |
-= | 숫자 뺄셈 후 대입 |
*= | 숫자 곱셈 후 대입 |
/= | 숫자 나눗셈 후 대입 |
%= | 숫자의 나머지를 구한 후 대입 |
**= | 숫자 제곱 후 대입 |
>>> number = 100
>>> number += 10
>>> number += 20
>>> number += 30
>>> print("number:", number)
number: 160
연산자 이름 | 설명 |
---|---|
+= | 문자열 연결 후 대입 |
*= | 문자열 반복 후 대입 |
>>> string = "안녕하세요"
>>> string += "!"
>>> string += "!"
>>> print("string:", string)
string: 안녕하세요!!
>>> string = input("인사말을 입력하세요> ")
인사말을 입력하세요> 안녕하세요
>>> print(type(string))
<class 'str'>
위의 값의 자료형은 문자열을 넣었기 때문에 str로 출력이 됨
>>> number = input("숫자를 입력하세요> ")
숫자를 입력하세요> 12345
>>> print(number)
12345
>>> print(type(number))
<class 'str'>
위의 값은 숫자가 입력되었으니 int형이라고 생각할 수 있으나, input()함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형으로 출력됨
True, False같은 bollean값을 입력해도 모두 문자열로 나옴
int() 함수 : 문자열을 int자료형으로 변환함
float() 함수 : 문자열을 float자료형으로 변환함
#예시
string_a = input("입력 A> ")
int_a = int(string_a)
string_b = input("입력 B> ")
int_b = int(string_b)
print("문자열 자료:", string_a + string_b)
print("숫자 자료:", int_a + int_b)
#실행 결과
----------
입력 A> 273
입력 B> 52
문자열 자료: 27352
숫자 자료: 325
int("안녕하세요")
float("안녕하세요")
ValueError : invalid literal for int() with base 10: '안녕하세요'
int("52.273")
ValueError : invalid literal for int() with base 10: '52.273'
str(다른 자료형)
# format() 함수의 형식
"{}".format(10)
"{} {}".format(10, 20)
"{} {} {} {} {}".format(101, 202, 303, 404, 505)
# format() 함수로 숫자를 문자열로 변환하기
format_a = "{} 만 원".format(5000)
format_b = "파이썬 열공하여 첫 연봉 {}만 원 만들기".format(5000)
format_c = "{} {} {}".format(3000, 4000, 5000)
format_d = "{} {} {}".format(1, "문자열", True)
#출력
print(format_a)
print(format_b)
print(format_c)
print(format_d)
#실행 결과
----------
5000만원
파이썬 열공하여 첫 연봉 5000만 원 만들기
3000 4000 5000
1 문자열 True
>>> "{} {}".format(1, 2, 3, 4, 5)
'1 2'
>>> "{} {} {}".format(1, 2)
IndexError: tuple index out of range
# 정수
output_a = "{:d}".format(52)
# 특정 칸에 출력하기
output_b = "{:5d}".format(52) #5칸
output_c = "{:10d}".format(52) #10칸
# 빈칸을 0으로 채우기
output_d = "{:05d}".format(52) #음수
output_e = "{:05d}".format(-52) #양수
print("# 기본")
print(output_a)
print("# 특정 칸에 출력하기")
print(output_b)
print(output_c)
print("# 빈칸을 0으로 채우기")
print(output_d)
print(output_e)
#실행 결과
----------
# 기본
52
# 특정 칸에 출력하기
52
52
# 빈칸을 0으로 채우기
00052
-0052
위의 코드에서 {:d}는 int 자료형의 정수를 출력하겠다고 직접적으로 지정하는 것이며, 정수만 올 수 있음
{:5d}, {:10d}는 빈칸을 잡고 생성하고 난 후에 뒤에서 부터 숫자를 채움
{:05d}는 5칸을 잡고 뒤에서부터 지정한 숫자를 넣은 후 앞의 빈 곳을 0으로 채우며 음수 부호가 있는 경우 맨 앞자리를 부호로 채움
# 조합하여 출력해 보기
output_a = "{:+d}".format(52) # 양수
output_b = "{:+d}".format(-52) # 음수
output_c = "{: d}".format(52) # 양수 : 기호 부분 공백
output_d = "{: d}".format(-52) # 음수 : 기호 부분 공백
output_e = "{:+5d}".format(52) # 기호를 뒤로 밀기 : 양수
output_f = "{:+5d}".format(-52) # 기호를 뒤로 밀기 : 음수
output_g = "{:=+5d}".format(52) # 기호를 앞으로 밀기 : 양수
output_h = "{:=+5d}".format(-52) # 기호를 앞으로 밀기 : 음수
output_i = "{:+05d}".format(52) # 0으로 채우기 : 양수
output_j = "{:+05d}".format(-52) # 0으로 채우기 : 음수
print("# 기호와 함께 출력하기")
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print("# 조합하기")
print(output_e)
print(output_f)
print(output_g)
print(output_h)
print(output_i)
print(output_j)
#실행 결과
----------
# 기호와 함께 출력하기
+52
-52
52
-52
# 조합하기
52
-52
+ 52
- 52
+0052
-0052
위의 코드에서 2~3행의 {:+d}처럼 d앞에 +기호를 붙이면 양수와 음수 기호를 표현할 수 있음
4~5행의 {: d}처럼 앞에 공백을 두어 기호 위치를 비워주면 함수에 입력한 기호가 표현됨
기호와 공백을 조합할 때는 = 기호를 앞에 붙일 수 있음
# 조합하여 출력해 보기
output_a = "{:+f}".format(52.273)
output_b = "{:15f}".format(52.273) # 15칸 만들기
output_c = "{:+15f}".format(52.273) # 15칸에 부호 추가하기
output_d = "{:+015f}".format(52.273) # 15칸에 부호 추가하고 0으로 채우기
output_e = "{:15.3f}".format(52.273) # 소수점 3째 자리까지 출력 (반올림 자동)
output_f = "{:15.2f}".format(-52.273) # 소수점 2째 자리까지 출력 (반올림 자동)
output_g = "{:15.1f}".format(52.273) # 소수점 1째 자리까지 출력 (반올림 자동)
print("# 다양한 형태의 부동 소수점 출력하기")
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print("# 소수점 아래 자릿수 지정하기")
print(output_e)
print(output_f)
print(output_g)
#실행 결과
----------
# 다양한 형태의 부동 소수점 출력하기
+52.273000
52.273000
+52.273000
+0000052.273000
# 소수점 아래 자릿수 지정하기
52.273
52.27
52.3
output_a = 52.0
output_b = "{:g}".format(output_a)
print(output_a)
print(output_b)
#실행 결과
----------
52.0
52
a = "Hello Python Programming...!"
print(a.upper())
print(a.lower())
print(a)
# 실행 결과
----------
HELLO PYTHON PROGRAMMING...! # upper() 함수
hello python programming...! # lower() 함수
Hello Python Programming...! # 원본
input_a = """
안녕하세요
문자열의 함수를 알아봅니다
"""
print(input_a)
print(**********)
print(input_a.strip())
# 실행 결과
----------
안녕하세요
문자열의 함수를 알아봅니다
**********
안녕하세요
문자열의 함수를 알아봅니다
>>> print("TrainA10".isalnum())
True
>>> print("10".isdigit())
True
isalnum()은 알파벳 또는 숫자로만 구성되어 있는지 확인하는 함수이고, isdigit()는 문자열이 숫자로만 인식될 수 있는지 확인하는 함수인데 둘 다 인식 가능하므로 True를 출력함
>>> output_a = "안녕하세요".find("안녕")
>>> print(output_a)
0
>>> output_b = "안녕안녕하세요".rfind("안녕")
>>> print("output_b")
2
위의 코드에서 output_a는 가장 앞 글짜 0번째에 처음 안녕이 나오므로 0을 출력함
output_b는 2번째에 안녕이 나오므로 2 출력함
0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
안 | 녕 | 안 | 녕 | 하 | 세 | 요 |
>>> print("안녕" in "안녕하세요")
True
>>> print("잘자" in "안녕하세요")
False
>>> a = "10 20 30 40 50".split(" ")
>>> print(a)
['10', '20', '30', '40', '50']
위의 예제는 공백(띄어쓰기)을 기준으로 자름
f-문자열
f '문자열{표현식}문자열'
>>> "{}".format(10)
'10'
>>> f'{10}'
'10'
출력 형식
구의 반지름을 입력해 주세요 : 5
= 구의 부피는 523.5986666666666입니다.
= 구의 겉넓이는 314.1592입니다.
Hint
* pi는 3.141592로 계산한다.
a = input("구의 반지름을 입력해 주세요: ")
r = int(a)
pi = 3.141592
부피 = ((4/3)*pi)*(r**3)
겉넓이 = (4*pi)*(r**2)
#format() 형식
print("구의 부피는 {}입니다.".format(부피))
print("구의 겉넓이는 {}입니다.".format(겉넓이))
#f-문자열 형식
print(f"구의 부피는 {부피}입니다.")
print(f"구의 겉넓이는 {겉넓이}입니다.")
# 2번째 자리까리 출력_format()
print("구의 부피는 {:.2f}입니다.".format(부피))
print("구의 겉넓이는 {:.2f}입니다.".format(겉넓이))
# 2번째 자리까지 출력_f-문자열
print(f"구의 부피는 {부피:.2f}입니다.")
print(f"구의 겉넓이는 {겉넓이:.2f}입니다.")
출력 형식
밑변의 길이를 입력해주세요: 3.0
높이의 길이를 입력해주세요: 4.0
= 빗변의 길이는 5.0입니다.
밑변 = float(input("밑변의 길이를 입력해주세요: "))
높이 = float(input("높이의 길이를 입력해주세요: "))
빗변 = (밑변**2 + 높이**2)**(1/2)
#format() 형식
print('빗변의 길이는 {}입니다.'.format(빗변))
#f-문자열 형식
print(f'빗변의 길이는 {빗변}입니다.')
연산 | 설명 |
---|---|
== | 같다 |
!= | 다르다 |
< | 작다 |
> | 크다 |
<= | 작거나 같다 |
>= | 크거나 같다 |
>>> print( 10 != 10)
False
>>> print(10 == 10)
True
>>> print("가방" < "하마")
True
>>> print("가방" == "하마")
False
연산자 | 의미 | 설명 |
---|---|---|
not | 아니다 | 단항 연산자로 불을 반대로 전환 |
and | 그리고 | 피연산자 두 개가 모두 참일 때 True, 그 외는 모두 False |
or | 또는 | 피연산자 두 개 중 1개만 참이면 True, 두 개가 모두 거짓일 때 False |
if 불 값이 나오는 표현식:
불 값이 참일 때 실행할 문장
불 값이 참일 때 실행할 문장
if 조건:
조건이 참일 때 실행할 문장
else:
조건이 거짓일 때 실행할 문장
if 조건 A:
조건A가 참일 때 실행할 문장
elif 조건 B:
조건B가 참일 때 실행할 문
else:
모든 조건이 거짓일 때 문장
if zero == 0
pass
else:
pass
출력 형식
입력 : 안녕
> 안녕하세요.
입력 : 안녕하세요.
> 안녕하세요.
입력 : 지금 몇 시야?
> 지금은 15시 입니다.
입력 : 지금 몇 시예요?
> 지금은 15시 입니다.
입력 : 잘지내?
> 잘지내?
import datetime
talk = (input("입력: "))
if talk in "안녕":
print("안녕하세요.")
elif talk in "지금":
now = datetime.datetime.now()
print(f"지금은 {now.hour}시 입니다.")
else:
print(talk)
# import datetime : 날짜/시간과 관련된 기능을 가져옴
# datetime.datetime.now() : 현재의 시간을 구함
# 사용할 경우 '내가 지정한 변수.구하고 싶은 값'적으면 됨
# year(년), month(월), day(일), hour(시), minute(분), second(초)
출력 형식
정수를 입력해주세요: 273
273은 2로 나누어 떨어진는 숫자가 아닙니다.
273은 3로 나누어 떨어진는 숫자입니다.
273은 4로 나누어 떨어진는 숫자가 아닙니다.
273은 5로 나누어 떨어진는 숫자가 아닙니다.
# if문만 사용할 경우
입력 = int(input("정수를 입력해 주세요: "))
if 입력 % 2 == 0:
print(f"{입력}는 2로 나누어 떨어지는 숫자입니다.")
else:
print(f"{입력}는 2로 나누어 떨어지는 숫자가 아닙니다.")
if 입력 % 3 == 0:
print(f"{입력}는 3으로 나누어 떨어지는 숫자입니다.")
else:
print(f"{입력}는 3으로 나누어 떨어지는 숫자가 아닙니다.")
if 입력 % 4 == 0:
print(f"{입력}는 4로 나누어 떨어지는 숫자입니다.")
else:
print(f"{입력}는 4로 나누어 떨어지는 숫자가 아닙니다.")
if 입력 % 5 == 0:
print(f"{입력}는 5로 나누어 떨어지는 숫자입니다.")
else:
print(f"{입력}는 5로 나누어 떨어지는 숫자가 아닙니다.")
# for문 사용할 경우
input_int = int(input("정수를 입력해 주세요: "))
dig = 2, 3, 4, 5
for i in dig:
if input_int % i == 0:
print(f"273은 {i}로 나누어 떨어지는 숫자입니다")
elif input_int % i != 0:
print(f"273은 {i}로 나누어 떨어지는 숫자가 아닙니다")
str_input = input("태어난 해를 입력해 주세요> ")
birty_year = int(str_input)%12
if birty_year == 0:
print("원숭이 띠입니다.")
elif birty_year == 1:
print("닭 띠입니다.")
elif birty_year == 2:
print("개 띠입니다.")
elif birty_year == 3:
print("돼지 띠입니다.")
elif birty_year == 4:
print("쥐 띠입니다.")
elif birty_year == 5:
print("소 띠입니다.")
elif birty_year == 6:
print("범 띠입니다.")
elif birty_year == 7:
print("토끼 띠입니다.")
elif birty_year == 8:
print("용 띠입니다.")
elif birty_year == 9:
print("뱀 띠입니다.")
elif birty_year == 10:
print("말 띠입니다.")
elif birty_year == 11:
print("양 띠입니다.")
elif문 : if문의 조건식이 거짓일 때 실행시킬 코디에 추가 조건을 걸고 싶을 경우에 사용함
else문 : if문, elif의 조건식이 거짓이면 블록 내의 문장 실행