본문 바로가기
프로그래밍

창의적 문제 해결을 위한 파이썬 프로그래밍 Chapter 7 Enhancement Coding

by 나무거나 2024. 7. 8.
728x90

창의적 문제 해결을 위한 파이썬 프로그래밍 Chapter 7 Enhancement Coding

#7-1

def one2n_sum1(n):

sum = 0

for i in range(1, n+1):

sum += i

return sum

num = int(input("자연수:"))

if num < 1:

print("입력된 수가 1보다 작습니다.")

else:

print("1 --", num, "=", one2n_sum1(num))

#7-2

def one2nt_sum(n):

sum = 0

for i in range(1, n+1):

sum += i

return sum

num = int(input("자연수:"))

if num < 1 or num > 10:

print("입력값의 범위를 초과하였습니다.")

else:

numt = num * 10

print("1 --", numt, "=", one2nt_sum(numt))

#7-3

def one2n_sum2(n):

sum = 0

if n > 1:

for i in range(1, n+1):

sum +=i

else:

for i in range(-1, n-1, -1):

sum +=i

return sum

num = int(input("정수: "))

if num == 0:

print("입력된 수 가 0입니다.")

else:

if num > 0:

print("1 --", num, "=", one2n_sum2(num))

else:

print("-1 --", num, "=", one2n_sum2(num))

#7-4

def m2n_sum(m,n):

if m > n:

tmp = m

m = n

n = tmp

s=0

for i in range(m,n+1):

s+=i

return s

num1 = int(input("정수1: "))

num2 = int(input("정수2: "))

print(num1, "--", num2, "=", m2n_sum(num1,num2))

#7-5

def pzn(n):

if n>0:

result = 1

elif n == 0:

result = 0

else:

result = -1

return result

while True:

num1 = int(input("정수: "))

r = pzn(num1)

if r == 1:

print("양수")

elif r == 0:

print("0")

break

else:

print("음수")

#7-6

def fc(temper, action):

if action == 0:

tmp = temper * 1.8 + 32

tmpact = "C2F"

else:

tmp = (temper - 32) / 1.8

tmpact = "F2C"

return (tmp, tmpact)

t = int(input("온도: "))

a = int(input("변환(0:C2F, 1:F2C)"))

(rc, ra) = fc(t,a)

print(ra,":", t, "=>", rc)

#7-7

def welcome(n, msg="환영합니다."):

print(msg,n,"님")

name = input("이름: ")

welcome(name)

welcome(name, "반갑습니다.")

#7-8

def calc(num1,num2,act="+"):

if act =="+":

result = num1 + num2

elif act =="-":

result = num1 - num2

elif act =="*":

result = num1 * num2

elif act =="/":

result = num1 / num2

else:

result = "잘못된 연산기호 입니다."

return result

n1 = int(input("정수1: "))

n2 = int(input("정수2: "))

print(calc(n1,n2))

print(calc(n1, n2, "*"))

print(calc(n1, n2, "^"))

#7-9

def calc(num1,num2,act="+"):

if act =="+":

result = num1 + num2

elif act =="-":

result = num1 - num2

elif act =="*":

result = num1 * num2

elif act =="/":

result = num1 / num2

else:

result = "잘못된 연산기호 입니다."

return result

n1 = int(input("정수1: "))

n2 = int(input("정수2: "))

print(calc(n1,n2,"*"))

print(calc(num1 = n1, num2 = n2, act = "*"))

print(calc(num2 = n1, num1 = n2, act = "*"))

#7-10

def vsum(*num):

s=0

for i in num:

s +=i

return s

print("2+3=", vsum(2,3))

print("2+3+4=", vsum(2,3,4))

print("2+3+4+5=", vsum(2,3,4,5))

728x90