230905 Python 기초¶
In [ ]:
x = int(input("1-7. 값을 입력하시오 : "))
print(3.14 * x * x)
47505.060000000005
In [ ]:
x = int(input("1-8. 값을 입력하시오 : "))
print(x * x - x +100)
112
In [ ]:
# 1-9. 금액을 입력했을 때, 상품 가격에 따른 잔돈을 반환하는 자판기 프로그램 만들기
y = 10000
In [ ]:
# 돈이 3000원 이상 있으면 택시를 타고 가고 아니면 걸어 가라
money = 2000
if money >= 3000:
print('택시 타고 가라.')
else:
print('걸어 가라.')
걸어 가라.
In [ ]:
# 돈이 300원 이상 있거나 카드가 있으면 택시를 타고 가고 아니면 걸어 가라
money = 2000
card = 1
if (money >= 3000) or (card):
print('택시 타고 가라.')
else:
print('걸어 가라.')
택시 타고 가라.
In [ ]:
1 in [1, 2, 3] # 1이 [1, 2, 3] 안에 있어?
In [ ]:
# 주머니에 돈이 있으면 택시를 타고, 없으면 걸어 가라
pocket = ['paper', 'cellphone', 'money']
card = 1
if 'money' in pocket:
print('택시 타고 가라.')
elif card:
print('카드 꺼내고 택시 타라.')
else:
print('걸어 가라.')
택시 타고 가라.
In [ ]:
# 2-1. 값을 입력 받아 양수인지 음수인지 판별하는 프로그램 만들기
x = int(input("2-1. 양수 음수 판별을 위해 값을 입력하시오 : "))
if x < 0:
print(f"{x}는 음수 입니다.")
elif x > 0:
print(f"{x}는 양수 입니다.")
else:
print(f"{x}는 0 입니다.")
x는 양수 입니다.
In [ ]:
# 2-2. 값을 입력 받아 홀수인지 짝수인지 판별하는 프로그램 만들기
x = int(input("2-2. 홀수 짝수 판별을 위해 값을 입력하시오 : "))
if x % 2:
print(f"{x}는 홀수 입니다.")
else:
print(f"{x}는 짝수 입니다.")
x는 짝수 입니다.
In [ ]:
# 2-3. 키와 몸무게를 입력받아, 비만도(BMI)를 판별하는 프로그램 만들기
# 몸무게(kg)를 키의 제곱(m)으로 나눈 값
kg = float(input("2-3. 체중을 kg로 입력하시오 : "))
cm = float(input("키를 cm로 입력하시오 : "))
m = cm/100
bmi = kg/(m**2)
print(f"BMI는 {bmi} 입니다.")
if bmi < 18.5:
print('저체중')
elif bmi < 22.9:
print('정상')
elif bmi < 24.9:
print('과체중')
elif bmi < 29.9:
print('경도비만')
else:
print('고도비만')
BMI는 56.497175141242934 입니다.
고도비만
In [ ]:
# 반복문 while
treeHit = 0
while treeHit < 10:
treeHit = treeHit + 1
print(f'나무를 {treeHit}번 찍었습니다.')
if treeHit == 10:
print('나무가 넘어갔습니다~')
print('반복문이 종료 되었습니다.')
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
나무를 3번 찍었습니다.
나무를 4번 찍었습니다.
나무를 5번 찍었습니다.
나무를 6번 찍었습니다.
나무를 7번 찍었습니다.
나무를 8번 찍었습니다.
나무를 9번 찍었습니다.
나무를 10번 찍었습니다.
나무가 넘어갔습니다~
반복문이 종료 되었습니다.
In [ ]:
# 반복문 while break 사용
coffee = 10
money = 500
while money: # money 가 있으면
print('돈을 받았으니 커피를 줍니다.')
coffee = coffee - 1
print(f'남은 커피의 양은 {coffee}개 입니다.')
if not coffee: # coffee 가 false
break
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 9개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 8개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 7개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 6개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 5개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 4개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 3개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 2개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 1개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 0개 입니다.
In [ ]:
# 반복문 continue
a = 0
while a < 10:
a = a + 1
if a % 2 == 0: # 짝수이면 continue
continue
print(a)
1
3
5
7
9
In [ ]:
# 반복문 for
result = 0
for i in range(1, 11): # 1 ~ 10(11미만)
result = result + i
print(result)
0
1
3
6
10
15
21
28
36
45
55
In [ ]:
# 반복문 for 리스트
score_list = [90, 25, 67, 45, 80]
cut_line = 60
pass_count = 0
for score in score_list:
if score > cut_line: # 컷트라인 조건문
pass_count += 1
print(pass_count)
3
In [ ]:
# 60점 이상인 경우 축하메세지를 보낸다.
score_list = [90, 25, 67, 45, 80]
cut_list = 60
for score in score_list:
if score > cut_line:
print(f'{score}점축하합니다.')
90점축하합니다.
67점축하합니다.
80점축하합니다.
In [ ]:
# 60점 이상인 경우 축하메세지를 보낸다. continue 사용
score_list = [90, 25, 67, 45, 80]
cut_list = 60
for score in score_list:
if score <= cut_line:
continue
print(f'{score}점축하합니다.')
90점축하합니다.
67점축하합니다.
80점축하합니다.
In [ ]:
# 이중포문
list1 = [1,2,3]
list2 = [4,5,6]
for num1 in list1:
for num2 in list2:
print(num1, num2)
1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6
In [ ]:
# 구구단
for num1 in range(2,10):
for num2 in range(1,10):
print(f'{num1} * {num2} = {num1 * num2}')
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
In [ ]:
# List comprehension
# 1~10 리스트 생성 방법
[num for num in range(1,11)]
Out[ ]:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [ ]:
# List comprehension
[num * 10 for num in range(1,11) if num % 2 ==0 ]
# 1~10 중 짝수만 10을 곱하여 리스트에 저장
Out[ ]:
[20, 40, 60, 80, 100]
In [ ]:
# 2-4. A 부서의 월 매출이 아래와 같을 때, For문을 이용하여, A 부서의 평균 월 매출 계산
# (* 리스트와 For문을 이용해서 계산 / 1월 : 5500 / 2월 : 5300 / 3월 : 6700 / 4월 : 5500 / 5월 : 5800)
sales = [5500, 5300, 6700, 5500, 5800]
total = 0
for sale in sales:
total += sale
print(f'부서의 평균 월 매출 : {int(total/len(sales))}')
# 현실 코딩
print(f'부서의 평균 월 매출 : {sum(sales)/len(sales)}')
부서의 평균 월 매출 : 5760
부서의 평균 월 매출 : 5760.0
In [ ]:
# 2-5. For 반복문을 중첩하여, 아래와 같이 * 기호를 피라미드로 출력하는 프로그램 제작
# (참고로 print('*', end='')와 같이 print 함수를 사용하면 줄 바꿈 없이 화면에 출력할 수 있습니다.)
# 결과 :
for i in range(5):
for j in range(5):
if i >= j:
print('*', end='')
print('')
# 강사님 의도
for i in range(5):
print('*' * i)
*
**
***
****
*****
*
**
***
****
In [ ]:
# 2-6. 정수를 입력 받아 해당 수의 구구단을 출력하는 프로그램 만들기
dan = int(input('구구단 출력) 정수를 입력하시오 : '))
for i in range(1,10):
print(f'{dan} * {i} = {dan * i}')
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
In [ ]:
# 2-7. For문과 If문을 이용하여, 정수를 입력 받아 정수의 약수를 구하는 프로그램 제작
# 예) 입력 : 15 / 결과 : 1,3,5,15
#약수는 1과 자신을 제외하여 나눈 나머지 값이 0인 것
num = int(input('약수 구하기 : '))
result = []
for i in range(1,num):
if i == 1 or i == num:
pass
elif (num % i) == 0:
result.append(i)
print(result)
[3, 5]
In [ ]:
# (과제) 2-8. For문과 If문을 이용하여, 아래의 리스트의 최댓값을 구하는 프로그램 제작
# list = [1,24,3,44,1000,2,0,74] / 결과 : 1000
파일 입출력¶
In [ ]:
# 파일 입출력
print('뉴' '진' '스')
print('뉴' + '진' + '스')
print('뉴', '진', '스')
뉴진스
뉴진스
뉴 진 스
In [ ]:
for i in range(1,10):
print(i, end = ' ')
1 2 3 4 5 6 7 8 9
TXT 파일 다루기¶
In [ ]:
# 파일 생성하기
f = open('text_file1.txt', 'w') # mode = [r, w, a]
f.close()
In [ ]:
# 파일 생성 후 값 작성하기
f = open('text_file2.txt', 'w')
for i in range(1,11):
f.write(f'{i}번째 줄입니다.\n')
f.close()
# 첫 행에 출력된다. \n으로 개행 문자를 사용한다.
In [ ]:
# 파일 열어서 값 추가하기
f = open('text_file2.txt', 'a')
for i in range(11,20):
f.write(f'{i}번째 줄입니다.\n')
f.close()
In [ ]:
# 파일 읽기(readline) : 한줄 출력
f = open('text_file2.txt', 'r')
line = f.readline()
print(line)
f.close()
1번째 줄입니다.
In [ ]:
# 파일 읽기 : 여려줄 출력 + 반복문 활용
f = open('text_file2.txt', 'r')
while True: # 몇줄인지 모르니 while 사용
line = f.readline()
if not line:
break
print(line, end='')
f.close()
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.
11번째 줄입니다.
12번째 줄입니다.
13번째 줄입니다.
14번째 줄입니다.
15번째 줄입니다.
16번째 줄입니다.
17번째 줄입니다.
18번째 줄입니다.
19번째 줄입니다.
0905 과제¶
In [ ]:
# 1-9. 금액을 입력했을 때, 상품 가격에 따른 잔돈을 반환하는 자판기 프로그램 만들기
# * 금액과 상품가격은 input함수로 선언
# * 잔돈은 500,100,50,10원 단위로 반환
# * 잔돈은 가장 큰 금액부터 반환
# 예) 잔돈 760원 : 500원1개, 100원2개, 50원 1개, 10원 1개
money = int(input('1-9 소지 금액을 입력하시오 : '))
cost = int(input('상품 가격을 입력하시오 : '))
change = money - cost
coins = {500 : 0, 100 : 0, 50 : 0, 10 : 0}
print(f'잔돈 {change}원 : ', end='')
for coin in coins.keys():
coins[coin] = change // coin
change %= coin #change -= coins[coin] * coin
print(f'{coin}원 {coins[coin]}개 ',end='')
잔돈 2800원 : 500원 5개 100원 3개 50원 0개 10원 0개
In [ ]:
# 2-6. 정수를 입력 받아 해당 수의 구구단을 출력하는 프로그램 만들기
dan = int(input('2-6 구구단을 입력하시오 : '))
for i in range(1,10):
print(f'{dan} * {i} = {dan * i}')
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
In [ ]:
# 2-8. 8. For문과 If문을 이용하여, 아래의 리스트의 최댓값을 구하는 프로그램 제작
# list = [1,24,3,44,1000,2,0,74] / 결과 : 1000
list = [1,24,3,44,1000,2,0,74]
max = list[0]
for i in list:
if max < i:
max = i
print(f'결과 : {max}')
결과 : 1000
'새싹 > TIL' 카테고리의 다른 글
[핀테커스] 230907 sqlite sql 실습 (0) | 2023.09.06 |
---|---|
[핀테커스] 230906 python 모듈 함수 클래스 (0) | 2023.09.06 |
[핀테커스] 230904 python 설치 conda 가상화 (0) | 2023.09.04 |
[핀테커스] 230901 자소서와 면접 키워드 설정 (0) | 2023.09.01 |
[핀테커스] 230831 이력서 자소서 작성 (0) | 2023.08.31 |