Jump to Python (4)

GreenBean·2021년 3월 29일
0

Jump to Python

목록 보기
4/7
post-thumbnail

Jump to Python - 4

점프 투 파이썬의 예제를 푼 뒤, 그것에 대해 정리한 포스팅

새 창을 통해 점프 투 파이썬 으로 이동


04장 | 프로그램의 입력과 출력은 어떻게 해야 할까?

✔ Q1. 주어진 자연수가 홀수인지 짝수인지 판별해 주는 함수(is_odd)를 작성해 보자.

# 1.
def is_odd(num):
    if int(num) % 2 == 0:
        print(f"{num} is even number")
    else:
        print(f"{num} is odd number")

is_odd(1)
is_odd(387)

# 1.result
1 is odd number
387 is odd number
  • About 1.
    : 2로 나눴을 때의 몫을 사용하여 홀수인지 짝수인지 판별해주는 함수를 만들어 보았다.

✔ Q2. 입력으로 들어오는 모든 수의 평균 값을 계산해 주는 함수를 작성해 보자.

# 1.
def avg(*args):
    sum = 0
    for num in args:
        sum += int(num)
    average = sum / len(args)
    print(f"The average is {average}.")

avg(4, 8, 12)
avg(4, "8", 12)

# 1.result
The average is 8.0.
The average is 8.0.
  • About 1.
    : 입력으로 무한한 수가 들어올 수 있도록 *args를 이용했다. 그리고 위의 예제와 마찬가지로 값을 int로 한번 바꿔줘서 str으로 들어올 경우에도 작동할 수 있도록 하였다.

✔ Q3. 3과 6을 입력했을 때 9가 아닌 36이라는 결괏값을 돌려주었다. 이 프로그램의 오류를 수정해 보자.

# 1.
input1 = input("Enter the first number:")
input2 = input("Enter the second number:")
total = int(input1) + int(input2)
print("The sum of the two numbers is %s" % total)

# 1. result
Enter the first number:3
Enter the second number:6
The sum of the two numbers is 9
  • About 1.
    : str 타입으로 인식되면 "3"+"6"의 결과값이 "36"으로 나오기 때문에 수가 연산될 수 있도록 int 타입으로 바꿔주었다.

✔ Q5. 이 프로그램은 우리가 예상한 "Life is too short"라는 문장을 출력하지 않는다. 우리가 예상한 값을 출력할 수 있도록 프로그램을 수정해 보자.

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

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

# 1.result
Life is too short
  • About 1.
    : 파일을 닫아주지 않으면 올바르게 작동하지 않는다. close를 추가하여 예상한 값을 출력할 수 있도록 바꾸었다.

✔ Q6. 사용자의 입력을 파일(test.txt)에 저장하는 프로그램을 작성해 보자.

# 1.
user_input = input("Enter the content to be saved:")
a = open("test.txt", 'a')
a.write(user_input)
a.write("\n")
a.close()

# 1.result
(in "test.txt")
Hello everyone
welcome to the python world
  • About 1.
    : 처음에는 \n (=줄바꿈) 기능을 넣지 않았는데 그렇게 입력하니 test 파일을 확인했을 때 입력한 내용들이 줄줄이 이어져서 보기도 좋지 않을 뿐더러 다음에 입력한 내용이 잘 구분되지 않았다. 줄바꿈을 추가하니 훨씬 보기 깔끔하게 나타났다.

✔ Q7. 다음과 같은 내용을 지닌 파일 test.txt가 있다. 이 파일의 내용 중 "java"라는 문자열을 "python"으로 바꾸어서 저장해 보자.

# 1.
a = open("test.txt", 'r')
content = a.read()
a.close()

content = content.replace("java", "python")

a = open("test.txt", 'w')
a.write(content)
a.close()

# 1.result
(in "test.txt")
Life is too short
you need python
  • About 1.
    : replace 메소드를 사용해서 수정할 내용을 받을 수 있도록 설정해 주었다. 원하는 결과값을 얻을 수 있었다.
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글