이것저것 공부기록

[소창] 10주차 응용 실습 복습 본문

언어/Python

[소창] 10주차 응용 실습 복습

채도리 2020. 5. 31. 20:26

1. 두 개의 정수를 입력받고, 이를 밑변과 높이로 하여 삼각형 넓이와 사각형 넓이를 구하시오.

(삼각형 넓이 계산, 사각형 넓이 계산하는 함수 만들어 이용)

def triangle(width, height):
    return width*height*0.5

def rectangle(width, height):
    return width*height


a = int(input("첫번째 정수를 입력하세요 : "))
b = int(input("두번째 정수를 입력하세요 : "))

print("삼각형 넓이는 %.2f, 사각형 넓이는 %d입니다." %(triangle(a, b), rectangle(a, b)))

 

2. 계산기 프로그램

def cal (cal, a, b):
    if cal == '+':
        return a+b
    elif cal == '-':
        if a>b:
            return a-b
        else:
            return b-a
    elif cal == '*':
        return a*b
    elif cal == '/':
        return a/b

op = input("계산을 입력하세요(+, -, *, /): ")
num1= int(input("첫 번째 수를 입력하세요: "))
num2 = int(input("두 번째 수를 입력하세요: "))

result = cal(op, num1, num2)

print("## 계산기 : %d %s %d = %.1f" %(num1, op, num2, result))
# /이 실수값이 나올 수 있기 때문에 서식문자 %f 사용

 

3. 두 숫자를 더한 값 구하기

a = int(input())
b = int(input())

print(a+b)

 

4. 두 문자열을 입력 받고 더 긴 문자열 출력하기

str1 = input()
str2 = input()

if len(str1)>len(str2):
    print(str1)
else:
    print(str2)

 

5. 별로 밑변과 높이가 N인 직각삼각형 거꾸로 출력하기

# 내 코드 #
N = int(input())
n = N
for i in range(N): # (0,N,1)과 동일
    for k in range (n):
        print("*", end='')
    print() # print() 함수는 기본적으로 개행의 효과가 있음
    n -= 1
# 모범 답안 # 이게 훨씬 깔끔하기 하네
N = int(input())

for i in range(N,0,-1):
    for k in range (i):
        print("*", end='')
    print() # print() 함수는 기본적으로 개행의 효과가 있음

 

6. 문자열 한 개가 주어졌을 때, 주어진 문자열 양 옆에 큰따옴표 붙여 출력하기

str = input()

print('"'+str+'"')

 

7. 숫자 한 개가 주어졌을 때, 그 숫자의 절댓값 출력하기

num = int(input())

if num>0:
    print(num)
else:
    print(-num)

##################
    
num = int(input())
if num<0:
    num *= -1

print(num)

 

8. 두 숫자가 같으면 두 수의 합을, 다르면 차를 출력하기

a = int(input())
b = int(input())

if a==b:
    print(a+b)
elif a>b:
    print(a-b)
else:
    print(b-a)

 

9. n을 입력받고, 1부터 n까지의 숫자 출력하기

# for문 이용
n = int(input())

for i in range(1, n+1, 1):
    print(i)
    
# while문 이용
n = int(input())
i = 1

while i<=n:
    print(i)
    i += 1

 

10. 길이가 n인 배열(리스트) arr에서 인접하는 두 숫자 중 첫 번째 숫자에서 두 번째 숫자를 뺀 값 모두 출력

# 내가 짠 코드 (arr 리스트에 항목 추가 시 엔터로만 가능했음)
n = int(input())
arr = []

for i in range(n):
    num = int(input())
    arr.append(num)

for i in range(n-1):
    print(arr[i]-arr[i+1])
# split() 써서 공백으로 항목 나눠서 입력 받음 / 예시 답안
n = int(input())

arr = input().split()
print(arr)

for i in range(n-1):
    print(int(arr[i])-int(arr[i+1]))

 

11. 입력받은 자연수 거꾸로 출력하기

# 애초에 자연수를 그냥 문자열로 입력받는게 훨씬 편하다.
n = int(input())

ns = str(n)

for i in range(len(ns)):
    print(ns[len(ns)-1-i], end='')
n = input()

for i in range(len(n)-1, -1, -1):
    print(n[i], end='')

 

12. 문자열에서 '1'의 개수 구하여 출력하기

s = input()
cnt = 0

for i in range(len(s)):
    if s[i]=='1':
        cnt += 1
print(cnt)

'언어 > Python' 카테고리의 다른 글

5. 함수, 파일, 모듈, 패키지  (0) 2020.05.20
4. 리스트, 튜플, 딕셔너리  (0) 2020.05.19
3. 반복문  (0) 2020.05.19
2. 조건문  (0) 2020.05.19
1. 변수, 숫자, 문자열  (0) 2020.05.18