WjExplor Story

[점프 투 파이썬] 4장 파이썬의 입출력 되새김 문제 Q1 ~ Q8 본문

Python/Python : Code Study

[점프 투 파이썬] 4장 파이썬의 입출력 되새김 문제 Q1 ~ Q8

더블유제이플로어 2025. 9. 12. 00:31

Q1. 홀수, 짝수 판별하기

is_odd 함수는 홀수면 True, 짝수면 False를 리턴한다.
def is_odd(number):
    if number%2==1:
        return True
    else:
        return False

Q2. 모든 입력의 평균값 구하기

입력으로 들어오는 모든 수의 평균값을 계산해 주는 함수를 작성해 보자. 단, 입력으로 들어오는 수의 개수는 정해져 있지 않다.
def avg_numbers(*arg):
    result = 0
    for i in arg:
        result+=i
    return result / len(arg)

print(avg_numbers(1,2)) # 1.5 출력
print(avg_numbers(1,2,3,4,5))  # 3.9 출력

Q3. 프로그램 오류 수정하기 1

input1 = input("첫 번째 숫자를 입력하세요: ")
input2 = input("두 번째 숫자를 입력하세요: ")

total = input1 + input2
print("두 수의 합은 %s 입니다" %total)
# (3,6)을 입력하면
두 수의 합은 36이다
라고 나온다. 9가 출력될 수 있도록 수정하자.

input1 = int(input("첫 번째 숫자를 입력하세요: "))
input2 = int(input("두 번째 숫자를 입력하세요: "))

total = input1 + input2
print("두 수의 합은 %s 입니다" %total)

혹은

input1 = int(input("첫 번째 숫자를 입력하세요: "))
input2 = int(input("두 번째 숫자를 입력하세요: "))

total = input1 + input2
print(f"두 수의 합은 {total} 입니다")

Q4. 출력 결과가 다른것은?

  1. print("you" "need" "python")
  2. print("you"+"need"+"python")
  3. print("you", "need", "python")
  4. print("".join(["you","need","python"]))

3번 ,(쉼표) 를 포함하면 띄어쓰기가 실행된다


Q5. 프로그램 오류 수정하기 2

다음 파일(test.txt)에 "Life is too short" 문자열을 저장한 후 다시 그 파일을 읽어 출력하는 프로그램이다.

f1 = open("test.txt",'w')
f1.write("Life is too short")

f2 = open("test.txt",'r')
print(f2.read())

'Life is too short' 문장이 출력하지 않는다. 프로그램 수정해보자.


f1 = open("test.txt",'w')
f1.write("Life is too short")
f1.close()

f2 = open("test.txt",'r')
for i in f2.readlines():
    print(i)
f2.close()

Q6. 사용자 입력 저장하기

사용자의 입력을 파일(test.txt)에 저장하는 프로그램을 작성해보자. 단, 프로그램을 다시 실행하더라도 기존에 작성한 내용을 유지하고 새로 입력한 내용을 추가해야 한다.

user_input = input("저장할 내용을 입력하세요:")
f = open('test.txt','a',encoding='utf-8')
f.write(user_input)
f.write('\r\n') # 입력한 내용을 줄 단위로 구분하기 위해 줄 바꿈 문자 삽입
f.close()

Q7. 파일의 문자열 바꾸기

파일의 내용 중 "java" 라는 문자열을 "python" 으로 바꾸어 저장해보자.

f = open('test.txt','r')
body = input("문장 입력하세요: ")
body = body.replace('java','python')
f.close()

f = open('test.txt', 'w', encoding='utf-8')
f.write(body)
f.close()

Q8. 입력값을 모두 더해 출력하기

D:\ > cd doit
D:\doit > python myargv.py 1 2 3 4 5 6 7 8 9 10
# 55 출력

# myargv.py

import sys
sum = 0
args = sys.argv[1:]
for i in args:
    sum += int(i) 

print(sum)

혹은

import sys

args = sys.argv[1:]
total = sum(int(i) for i in args)

print(total)

https://youtu.be/X3aj1akeCU4?si=BI4oyA3f672DrLyk