input() 함수를 이용해서 입력한 데이터는 항상 문자(열) 자료형. 따라서, 형 변환 함수를 이용하여 형 변환을 해야함.
ex) userInputData = int(input('정수형을 입력하세요.'))
_실습_
**사용자가 가로, 세로 길이를 입력하면 삼각형과 사각형의 넓이가 출력되는 코드를 작성해보자.**
width = float(input('가로길이: '))
height = float(input('높이: '))
triangle = width * height /2
square = width * height
print('삼각형의 넓이는 =', triangle)
print('사각형의 넓이는 =', square)
userName = "hong"
userAge = 21
print('User Name: {}'.format(userName))
print('User Age: {}'.format(userAge))
print('Use Name: {}, User Age: {}'.format(userName, userAge))
print('Use Name: {1}, User Age: {0}'.format(userName, userAge)) #순서를 바꾸고 싶을 땐
print('나의 이름은 {0}이고, 나이는 {1}살 입니다. {0}이름은 아버지께서 지어주셨습니다.'. format(userName,userAge))
%s -> 문자열
%d -> 정수
%f -> 실수
userName = "hong"
userAge = 21
print('User Name: %s' % userName)
print('User Age: %d' % userAge)
print('User Name: %s, User Age: %d' % (userName,userAge))
%.nf -> 소수점 n자리 표현
pi = 3.14
print('Pie: %f' % pi)
print('Pie: %1f' % pi) #소수 첫 째자리
실습
반지름 입력: 3
원주율 입력: 3.14192
radius: 3.0
pi: 3.14192
radius: 3.000000, pi: 3.141920
radius: 3.00, pi: 3.14
radius= float(input('반지름 입력: '))
pi = float(input('원주율 입력: '))
print('radius: {}\npi: {}'.format(radius, pi))
print('radius: %.6f, pi: %.6f' % (radius, pi))
print('radius: %.2f, pi: %.2f' % (radius, pi))
실습
국어 점수: 85
영어 점수: 90
영어 점수: 95
국어 점수 85
영어 점수 90
수학 점수 95
합계 점수 270
kor = int(input('국어 점수: '))
eng = int(input('영어 점수: '))
math = int(input('영어 점수: '))
total = kor + eng + math
print('국어 점수 {}'.format(kor))
print('영어 점수 {}'.format(eng))
print('수학 점수 {}'.format(math))
print('합계 점수 {}'.format(total))
실습2
알바비: 800000
카드 값: 453700
partTimeMoney: 800000원
cardMoney: 453700원
남는 돈: 346300원
partTimeMoney = int(input('알바비: '))
cardMoney = int(input('카드 값: '))
result = partTimeMoney - cardMoney
print('partTimeMoney: {}원'.format(partTimeMoney))
print('cardMoney: {}원'.format(cardMoney))
print('남는 돈: {}원'.format(result))
실습
국어 점수: 85
영어 점수: 90
수학 점수: 90
국어 점수: 85
영어 점수: 90
수학 점수: 90
합계: 265
평균: 88.33333333333333
평균 88.33
kor = int(input('국어 점수: '))
eng = int(input('영어 점수: '))
math = int(input('수학 점수: '))
total = kor + eng + math
avg = total/3
print('국어 점수: {}'.format(kor))
print('영어 점수: {}'.format(eng))
print('수학 점수: {}'.format(math))
print('합계: {}'.format(total))
print('평균: {}'.format(avg))
print('평균 %.2f' % (avg))
num1 = 10
num2 = 3
result = num1/ num2
print('num1: {}, num2: {}, result: {}'. format(num1, num2, result))
result = num1 % num2
print('num1: {}, num2: {}, result: {}'.format(num1, num2, result1))
result = divmod(num1, num2)
print('result: {}'.format(result))
print('몫: {}'.format(result[0]))
print('나머지: {}'.format(result[1]))
실습
전체 학생 수: 25
한 모둠 학생 수: 4
전체 학생 수: 25
한 모둠의 학생 수: 4
모둠 수: 6
남는 학생 수: 1
totalStu = int(input("전체 학생 수: "))
stu_of_group = int(input('한 모둠 학생 수: '))
result = divmod(totalStu, stu_of_group)
print("전체 학생 수: {}". format(totalStu))
print("한 모둠의 학생 수: {}". format(stu_of_group))
print("모둠 수: {}". format(result[0]))
print("남는 학생 수: {}". format(result[1]))
실습2
Q. 123개의 사과를 4개씩 직원들에게 나누어 주려고 한다. 최대 나누어 줄 수 있는 직원수와 남는 사과 개수를 출력해보자.
A. 직원당 사과 수: 30, 남는 사과: 3
employee = 123
apple = 4
result = divmod(employee,apple)
print('직원당 사과 수: {}'. format(result[0])) #30
print('남는 사과 수: {}'. format(result[1])) #3
num1 = 2
num2 = 3
result = num1 ** num2
print("result:{}".format(result))
#2의 제곱근 구하기
result = 2 ** (1/2)
print('result: {}'.format(result))
print('2의 제곱근 %.2f' % result)
#2의 3제곱근
result2 = 2 ** (1/3)
print('result: {}'.format(result2))
print('3의 제곱근 %.2f' % result2)
#2의 4제곱근
result3 = 2 ** (1/4)
print('result: {}'.format(result3))
print('4제곱근: %.2f' % result3)
import math
#2의 제곱근
print('2의 제곱근 %f' % math.sqrt(2))
print('2의 제곱근 %.2f' % math.sqrt(2))
#3의 제곱근
print('3의 제곱근 %f' % math.sqrt(3))
print('3의 제곱근 %.2f' % math.sqrt(3))
#4의 제곱근
print('4의 제곱근 %.2f' % math.sqrt(4))
import math
#2^3
print('2의 3제곱 %.2f' % math.pow(2,3))
#3^4
print('3의 4제곱 %.2f' % math.pow(3,4))
실습
아들이 엄마한테 용돈을 받는데, 첫 달에는 200원을 받고 매월 이전 달의 2배씩 인상하기로 했다. 12개월째 되는 달에는 얼마를 받을 수 있는지 계산해 보자.
firstMon = 200
after12 = ((firstMon0.01) ** 12) 100
print('12개월 후 총액: {}'. format(after12))
*3자리수 마다 ,찍기
after12 = int(after12)
after12 = format(after12, ',')
print(after12, '원')
num += 3 #num= num + 3
print('num: {}'. format(num))
num -= 3 #num= num - 3
print('num: {}'. format(num))
num = 3 #num= num 3
print('num: {}'. format(num))
num /= 3 #num= num / 3
print('num: {}'. format(num))
num %= 3 #num= num % 3
print('num: {}'. format(num))
num //= 3 #num= num // 3
print('num: {}'. format(num))
num **= 3 #num= num ** 3
print('num: {}'. format(num))
실습(누적 강수량 찾기)
rainamount = 0
totalRain = 0
totalRain += 30
print('1월 누적 강수량: {}'.format(totalRain))
totalRain += 45
print('2월 누적 강수량: {}'.format(totalRain))
totalRain += 47
print('3월 누적 강수량: {}'.format(totalRain))
totalRain += 55
print('4월 누적 강수량: {}'.format(totalRain))
totalRain += 65
print('5월 누적 강수량: {}'.format(totalRain))
totalRain += 100
print('6월 누적 강수량: {}'.format(totalRain))
totalRain += 128
print('7월 누적 강수량: {}'.format(totalRain))
totalRain += 209
print('8월 누적 강수량: {}'.format(totalRain))
totalRain += 204
print('9월 누적 강수량: {}'.format(totalRain))
totalRain += 186
print('10월 누적 강수량: {}'.format(format(totalRain, ',')))
totalRain += 67
print('11월 누적 강수량: {}'.format(format(totalRain, ',')))
totalRain += 25
print('12월 누적 강수량: {}'.format(format(totalRain, ',')))
rain_avg = totalRain/12
print('-'*30)
print('연간 누적 강수량: {}mm'.format(format(totalRain, ',')))
print('연간 평균 강수량: {}mm'.format(format(totalRain, ',')))
print('-'*30)
실습
**자동차의 전장과 전폭을 입력하면 자동차 기계 세차 가능여부를 출력하는 코드를 작성해보자.
(최대 전장 길이: 5200mm, 최전폭: 1985)**
max_length = 5200
max_width = 1985
my_car_length = int(input('전장 길이 입력: '))
my_car_width = int(input('전폭 길이 입력: '))
print('전장 가능 여부: {}'. format(max_length >= my_car_length))
print('전폭 가능 여부: {}'. format(max_width >= my_car_width))
실습
cha1 = 'A' #65
cha2 = 'S' #83
print('\'{} > \'{}\' : {}'.format(cha1,cha2, (cha1 > cha2))) #\를 사용하면 다음 기호 무시
print('\'{} < \'{}\' : {}'.format(cha1,cha2, (cha1 < cha2)))
print('\'{} >= \'{}\' : {}'.format(cha1,cha2, (cha1 >= cha2)))
print('\'{} <= \'{}\' : {}'.format(cha1,cha2, (cha1 <= cha2)))
print('\'{} == \'{}\' : {}'.format(cha1,cha2, (cha1 == cha2)))
print('\'{} != \'{}\' : {}'.format(cha1,cha2, (cha1 != cha2)))
실습
**'백신 접종 대상자는 20세 미만 또는 65세 이상자에 한합니다.'를 논리연산자를 이용해서 코딩.
age = int(input("나이를 입력하세요: "))
vaccine = (age<20) or (age>=65)
print('age: {} -> vaccine: {}'.format(age,vaccine))
**국어, 영어, 수학 점수를 입력하고 평균이 70점 이상이면 True를 출력하는 코드를 작성해 보자. (단, 과목별 점수가 최소 60 이상인 경우에 True를 출력한다.)
pass_score1 = 70
pass_score2 = 60
kor = int(input('국어 점수: '))
eng = int(input('영어 점수: '))
math = int(input('수학 점수: '))
avg = (kor + eng + math)/3
avg_result = avg >= pass_score1
result_kor = kor >= pass_score2
result_eng = eng >= pass_score2
result_math = math >= pass_score2
subject_result = result_kor and result_eng and result_math
print('평균: {} -> 결과: {}'.format(avg, avg_result))
print('과락 결과: {}'. format(subject_result))
print('최종 결과: {}'.format(avg_result and subject_result))
덧셈: print('{} + {}: {}'.format(num1, num2, operator.add(num1,num2)))
뺄셈: print('{} - {}: {}'.format(num1, num2, operator.sub(num1,num2)))
곱셈: print('{} * {}: {}'.format(num1, num2, operator.mul(num1,num2)))
나눗셈: print('{} / {}: {}'.format(num1, num2, operator.truediv(num1,num2)))
나머지: print('{} % {}: {}'.format(num1, num2, operator.mod(num1,num2))) #나머지
몫: print('{} // {}: {}'.format(num1, num2, operator.floordiv(num1,num2))) #몫
제곱: print('{} ** {}: {}'.format(num1, num2, operator.pow(num1,num2))) #8의 3승
같다: print('{} == {}: {}'.format(num1, num2, operator.eq(num1,num2)))
같지 않다: print('{} != {}: {}'.format(num1, num2, operator.ne(num1,num2)))
초과: print('{} > {}: {}'.format(num1, num2, operator.gt(num1,num2)))
이상: print('{} >= {}: {}'.format(num1, num2, operator.ge(num1,num2)))
미만: print('{} < {}: {}'.format(num1, num2, operator.lt(num1,num2)))
이하: print('{} <= {}: {}'.format(num1, num2, operator.le(num1,num2)))
AND: print('{} and {}: {}'.format(flag1, flag2, operator.and(flag1,flag2)))
OR: print('{} or {}: {}'.format(flag1, flag2, operator.or(flag1,flag2)))
NOT: print('not {}: {}'.format(flag1, flag2, operator.not_(flag1)))
실습
**random과 operator 모듈을 사용해서 10부터 100까지의 난수 중 십의 자리와 일의 자리가 각각 3의 배수인지 판단하는 코드 만들기**
import random
random = random.randint(10,100)
num10 = operator.floordiv(random,10)
num1 = operator.mod(random,10)
print('난수: {}'.format(random))
print('십의 자리: {}'.format(num10))
print('일의 자리: {}'.format(num1))
print('십의 자리는 3의 배수이다: {}'.format(operator.eq(operator.mod(num10,3),0)))
print('일의 자리는 3의 배수이다: {}'.format(operator.eq(operator.mod(num1,3),0)))