<내용정리>
- 관련 파일
- 본문
##포매팅 비교하기
n = 3
print('I eat', n, 'apples.') # 포매팅 하지 않은 일반 출력 방식
print('I eat %d apples.' %n) # %연산자 포매팅(기본 포매팅)
print('I eat {} apples.'.format(n)) # format 메소드 포매팅
print(f'I eat {n} apples.') # f-strings 포매팅(f 문자열 포매팅)
##표준 출력(input)
name = input('이름을 입력하세요 : ')
age = input('나이를 입력하세요 : ')
print(f'입력된 이름은 {name} 입니다.')
print(f'입력된 나이는 {age} 입니다.')
##input의 형 변환
s = input('입력 : ') # input함수는 모든 입력을 문자열(str)로 저장함
print('변수 s의 값 :', s)
print('변수 s의 자료형(타입) :', type(s))
>> 입력 : 6
변수 s의 값 : 6
변수 s의 자료형(타입) : <class 'str'>
s = int(input('입력 : ')) # 정수로 형 변환
print('변수 s의 값 :', s)
print('변수 s의 자료형(타입) :', type(s))
>> 입력 : 6
변수 s의 값 : 6
변수 s의 자료형(타입) : <class 'int'>
a = int(input('입력 :')) #정수로 변환하여 연산하기
print('변수 a의 값 :', a)
print('변수 a의 자료형(타입) :', type(a))
print('100 + a =', 100 + a)
>> 입력 :10
변수 a의 값 : 10
변수 a의 자료형(타입) : <class 'int'>
100 + a = 110
##더하기 계산의 차이
s1 = input('입력 s1 :') #문자열로 입력됨(int X)
s2 = input('입력 s2 :')
print('s1 + s2 =', s1 + s2)
>> 입력 s1 :3
입력 s2 :7
s1 + s2 = 37
i1 = int(input('입력 i1 :')) #정수형으로 형 변환
i2 = int(input('입력 i2 :'))
print('i1 + i2 =', i1 + i2)
>> 입력 i1 :3
입력 i2 :7
i1 + i2 = 10
##실수형으로 입력받기
num1 = float(input('실수로 된 첫번째 숫자 : '))
num2 = float(input('실수로 된 두번째 숫자 : '))
print('덧셈 결과 :', num1 + num2)
print('뺄셈 결과 :', num1 - num2)
print('곱셈 결과 :', num1 * num2)
print('나눗셈 결과 :', num1 / num2)
##산술 연산자
a = 7
b = 2
print('{} + {} = {}'.format(a, b, a+b))
print('{} - {} = {}'.format(a, b, a-b))
print('{} * {} = {}'.format(a, b, a*b))
print('{} ** {} = {}'.format(a, b, a**b))
print('{} / {} = {}'.format(a, b, a/b))
print('{} // {} = {}'.format(a, b, a//b))
print('{} % {} = {}'.format(a, b, a%b))
print(f'{a} + {b} = {a+b}')
##복합 대입 연산자
#a가 10에서 시작해서 코드가 진행될수록 값이 변하도록 해보기
a = 10
print('a의 값 :', a)
a += 5 # a = a + 5
print('a의 값 :', a)
a -= 5
print('a의 값 :', a)
a *= 5
print('a의 값 :', a)
a /= 5
print('a의 값 :', a)
a %= 5
print('a의 값 :', a)
##관계 연산자 (논리 자료형으로 출력)
a = 15
print(f'{a} > 10 : {a>10}')
print(f'{a} < 10 : {a<10}')
print(f'{a} >= 10 : {a>=10}')
print(f'{a} <= 10 : {a<=10}')
print(f'{a} != 10 : {a!=10}')
##논리 연산자
a = 10
b = 0
print(f'{a} > 0 and {b} > 0 : {a>0 and b>0}')
print(f'{a} > 0 or {b} > 0 : {a>0 or b>0}')
print(f'not {a} : {not a}')
print(f'not {b} : {not b}')
##비트 연산자
a = 10 # 00001010 (2진수)
b = 70 # 01000110
print(f'a & b : {a & b}') # 00000010 (맨 앞자리는 부호, 0 = +, 1 = -)
print(f'a | b : {a | b}') # 01001110
print(f'a ^ b : {a ^ b}') # 01001100
print(f'~a : {~a}') # 11110101
print(f'a << 1 : {a << 1}') # 00010100 왼쪽으로 한 칸 이동
print(f'a >> 1 : {a >> 1}') # 00000101 오른쪽으로 한 칸 이동
##시퀀스 연산자
tree = '#'
space = ' '
print(space*4 + tree *1)
print(space*3 + tree *3)
print(space*2 + tree *5)
print(space*1 + tree *7)
print(space*0 + tree *9)
##멤버십 연산자(in 연산자)
print('안녕' in '안녕하세요')
print('메롱' in '안녕하세요')
print()
print('안녕' not in '안녕하세요')
print('메롱' not in '안녕하세요')
##조건 연산자(삼항 연산자)
a = 10
b = 20
result = (a - b) if (a >= b) else (b - a)
print(f'{a}와 {b}의 차이는 {result}입니다.')
- 문제 및 정답
1)
# 문자열 포매팅 (formatting)
'''
[문제]
변수 number에 숫자 5를 담고
아래의 출력결과와 같이 출력되도록 하시오.
포매팅 형식은 기본 포매팅, format 함수 포매팅, f 문자열 포매팅
3가지 방식으로 표현하시오.
[출력결과]
I eat 5 apples. --> 기본 포매팅 형식
I eat 5 apples. --> format 함수 포매팅 형식
I eat 5 apples. --> f 문자열 포매팅 형식
[정답]
number = 5
print('I eat %d apples.' % number)
print('I eat {} apples.'.format(number))
print(f'I eat {number} apples.')
'''
'''
[문제]
변수 num1에 숫자 3을 담고, 변수 num2에 숫자 5를 담은 후
아래의 출력결과와 같이 출력하시오.
이번 포매팅 형식은 format 함수 포매팅, f 문자열 포매팅
2가지 방식으로 표현하시오.
[출력결과]
I eat 3 apples. You eat 5 apples.
I eat 3 apples. You eat 5 apples.
[정답]
num1 = 3
num2 = 5
print('I eat {} apples. You eat {} apples.'.format(num1, num2))
print(f'I eat {num1} apples. You eat {num2} apples.')
'''
'''
[문제] 위의 문제 응용
변수 num1에 input 함수를 이용해서 숫자를 입력받도록 한다.
변수 num2에 input 함수를 이용해서 숫자를 입력받도록 한다.
아래의 출력결과와 같이 출력하시오.
이번에도 포매팅 형식은 format 함수 포매팅, f 문자열 포매팅
2가지 방식으로 표현하시오.
[출력결과]
첫번째 숫자를 입력하세요 : 10 --> 여기서 10은 실행 후 우리가 입력
두번째 숫자를 입력하세요 : 20 --> 여기서 20은 실행 후 우리가 입력
I eat 10 apples. You eat 20 apples.
I eat 10 apples. You eat 20 apples.
[정답]
num1 = input('첫번째 숫자를 입력하세요 : ')
num2 = input('두번째 숫자를 입력하세요 : ')
print('I eat {} apples. You eat {} apples.'.format(num1, num2))
print(f'I eat {num1} apples. You eat {num2} apples.')
'''
2)
# 입력 명령어(input)
'''
[문제]
변수 height에 키(tall)를 묻고 값을 할당하시오.
변수 height를 정수형(int)으로 만들어 소수점 아래를 버리시오.
변수 weight에 상대방의 몸무게를 실수형(float)으로 묻고 값을 할당하시오.
변수 height와 변수 weight를 더한 값을 출력하시오.
[출력결과]
키가 얼마인가요? 165
몸무게는 얼마인가요? 50.0
키 + 몸무게 = 215.0
[정답]
height = int(input("키가 얼마인가요?"))
weight = float(input("몸무게는 얼마인가요?"))
print('키 + 몸무게 = ', height + weight)
'''
'''
[문제] : 값을 입력받아 문장 출력하기
[출력결과]
당신의 나이는 몇 살입니까? 30
당신은 30 년을 살았습니다.
[정답]
a = input('당신의 나이는 몇 살입니까? ')
print('당신은', a, '년을 살았습니다.')
'''
'''
[문제] : 덧셈 계산기
[출력결과]
덧셈 첫 번째 숫자는? 5
덧셈 두 번째 숫자는? 8
두 숫자의 합은 13 입니다.
[정답]
a = int(input('덧셈 첫 번째 숫자는? '))
b = int(input('덧셈 두 번째 숫자는? '))
print('두 숫자의 합은', a + b, '입니다.')
'''
'''
[문제] : 나눗셈 계산기
[출력결과]
피제수는? 13
제수는? 5
나눗셈의 몫은 2 나머지는 3 입니다
[정답]
a = int(input('피제수는? '))
b = int(input('제수는? '))
print('나눗셈의 몫은', a // b, '나머지는', a % b, '입니다.')
'''
'''
[문제] : 성적 계산 프로그램
[출력결과]
이름을 입력하세요 : 파이썬
국어 성적을 입력하세요 : 95
수학 성적을 입력하세요 : 98
사회 성적을 입력하세요 : 84
과학 성적을 입력하세요 : 90
영어 성적을 입력하세요 : 79
파이썬 님의 성적은
총합 446 점, 평균 89.2 점 입니다.
[정답]
name = input('이름을 입력하세요 : ')
kor = int(input('국어 성적을 입력하세요 : '))
mat = int(input('수학 성적을 입력하세요 : '))
soc = int(input('사회 성적을 입력하세요 : '))
sci = int(input('과학 성적을 입력하세요 : '))
eng = int(input('영어 성적을 입력하세요 : '))
hab = kor + mat + soc + sci + eng
avg = hab / 5
print(name, '님의 성적은')
print('총합', hab, '점, 평균', avg, '점입니다.')
'''
'''
[문제]
피타고라스 정리 : 직각삼각형의 빗변의 제곱은 두 직각 변의 제곱합과 같다.
이 때 두 변의 길이는 실수형으로 입력받도록 해보자.
참고 : 빗변 제곱값 = 첫 번째 직각변의 길이 제곱값 + 두 번째 직각 변의 길이 제곱값
빗변 = 빗변 제곱값 ** 0.5 (제곱을 원래 값으로 하기 위해 1/2(0.5)를 거듭제곱한다. = 제곱근 구하는 것임)
[출력결과]
첫 번째 직각변의 길이(cm) : 15.3
두 번째 직각변의 길이(cm) : 12.1
빗변의 길이는 19.50640920313116 cm입니다.
[정답]
a = float(input('첫 번째 직각 변의 길이(cm) : '))
b = float(input('두 번째 직각 변의 길이(cm) : '))
c2 = a**2 + b**2
c = c2 ** 0.5 #제곱을 없애기 위해 1/2(=0.5)을 거듭제곱한다.
print('빗변의 길이는', c, 'cm입니다.')
'''
'''
[문제]
원의 넓이 구하기 : 원의 둘레(2 * 3.14 * 반지름), 원의 넓이(3.14 * 반지름 * 반지름)
이 때 결과값이 소수 둘째자리까지 나오도록 반올림한다. (round사용)
round함수 --> 반올림을 구해주는 함수
round(숫자, 자릿수)
[출력결과]
원의 반지름을 입력하세요(cm) : 3
원의 둘레는 18.84 cm이고 원의 넓이는 28.26 cm입니다.
[정답]
r = float(input('원의 반지름을 입력하세요(cm) : '))
cir = round(2 * 3.14 * r, 2)
area = round(3.14 * r * r, 2)
print('원의 둘레는', cir, 'cm이고 원의 넓이는', area, 'cm입니다.')
'''
'''
[문제] : 이름을 넣어 새해 인사 문자 보내기
[출력결과]
첫번째 이름을 입력하세요 : 라이언
두번째 이름을 입력하세요 : 어피치
세번째 이름을 입력하세요 : 무지
라이언 님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.
어피치 님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.
무지 님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.
[정답]
name1 = input('첫번째 이름을 입력하세요 : ')
name2 = input('두번째 이름을 입력하세요 : ')
name3 = input('세번째 이름을 입력하세요 : ')
print(name1, '님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.')
print(name2, '님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.')
print(name3, '님 올 2021년에도 새해 복 많이 받으시고 만수무강 하세요.')
'''
'''
[문제] : BMI(체질량지수) 계산하기
BMI 공식 = 몸무게 / (키 / 100) ** 2
BMI는 반올림하여 소수 둘째자리까지 나타내기
[출력결과]
이름을 입력하세요 : 파이썬
키(cm)를 입력하세요 : 176
몸무게(kg)를 입력하세요 : 72
파이썬님의 키는 176 cm이고 몸무게는 72 kg 입니다.
BMI 지수는 23.24 입니다.
[정답]
name = input('이름을 입력하세요 : ')
height = int(input('키(cm)를 입력하세요 : '))
weight = int(input('몸무게(kg)를 입력하세요 : '))
bmi = weight / (height / 100) ** 2
print()
print(name + '님의 키는 ', height,'cm이고 몸무게는 ', weight, 'kg입니다.')
print('BMI 지수는 ', round(bmi,2), '입니다.')
'''
'학부 자료 > Python' 카테고리의 다른 글
[Python] 파이썬 기초 6/20, 조건문 반복문 2 (0) | 2023.11.07 |
---|---|
[Python] 파이썬 기초 5/20, 조건문 반복문 1 (0) | 2023.11.07 |
[Python] 파이썬 기초 3/20, 리스트와 딕셔너리 (0) | 2023.11.07 |
[Python] 파이썬 기초 2/20, 문자열인덱싱슬라이싱 (0) | 2023.11.07 |
[Python] 파이썬 기초 1/20, print문 (0) | 2023.11.07 |