## 점프 투 파이썬 - 4장 연습문제
출처 : https://wikidocs.net/12769#04
# Q1. 주어진 자연수가 홀수인지 짝수인지 판별해 주는 함수(is_odd)를 작성해 보자.
def is_odd(num):
if num % 2 == 0:
return True
else:
return False
print(is_odd(3)) >>> False
# is_odd(3)은 2로 나눴을 때 0이 아니라 홀수인 False가 출력된다.
# Q2. 입력으로 들어오는 모든 수의 평균값을 계산해 주는 함수를 작성해 보자. (단 입력으로 들어오는 수의 개수는 정해져 있지 않다.)
# ※ 평균 값을 구할 때 len 함수를 사용해 보자.
# 해설
def avg_numbers(*args): # 입력 개수에 상관없이 사용하기 위해 *args를 사용
result = 0
for i in args:
result += i
return result / len(args)
print(avg_numbers(1, 2)) #>>> 1.5
print(avg_numbers(1,2,3,4,5)) #>>> 3.0
# 나의 문제 일단 문제 이해력이 딸린다.
# 입력된 문자라 생각해서 input을 사용했다.
# 입력된 값이 어캐 입력되는지 너무 복잡하게 생각했다.
# Q3. 다음은 두 개의 숫자를 입력받아 더하여 돌려주는 프로그램이다.
'''
input1 = input("첫 번째 숫자를 입력하세요:")
input2 = input("두 번째 숫자를 입력하세요:")
total = input1 + input2
print("두 수의 합은 %s 입니다" % total)
이 프로그램을 수행해 보자.
첫번째 숫자를 입력하세요:3
두번째 숫자를 입력하세요:6
두 수의 합은 36입니다
3과 6을 입력했을 때 9가 아닌 36이라는 결괏값을 돌려주었다. 이 프로그램의 오류를 수정해 보자.
※ int 함수를 사용해 보자.
'''
input1 = int(input("첫 번째 숫자를 입력하세요:"))
input2 = int(input("두 번째 숫자를 입력하세요:"))
total = input1 + input2
print("두 수의 합은 % s입니다" % total)
# input 받은 값이 int형이 아니었다. 바꿔보니 해결
# Q4. 다음 중 출력 결과가 다른 것 한 개를 골라 보자.
'''
1. print("you" "need" "python")
2. print("you"+"need"+"python")
3. print("you", "need", "python")
4. print("".join(["you", "need", "python"]))
'''
# 3번이다. ","로 나눴기 때문에 모두 youmeedpython이 출력되지만 3번은 you need python이다.
# Q5. 다음은 "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')
print(f2.read())
f2.close()
# 닫아주는 문장이 없었다 ;; 넣으니까 바로 되네
# Q6. 사용자의 입력을 파일(test.txt)에 저장하는 프로그램을 작성해 보자. (단 프로그램을 다시 실행하더라도 기존에 작성한 내용을 유지하고 새로 입력한 내용을 추가해야 한다.)
text= input("")
f = open('test.txt', 'a')
f.write(text)
f.write("\n")
f.close()
# 기존 작성한 내용을 유지하기 위해 'a'를 사용했다. 그리고 그대로 저장하니까 줄 바꿈이 안되어서 \n도 추가했다.
# Q7. 다음과 같은 내용을 지닌 파일 test.txt가 있다. 이 파일의 내용 중 "java"라는 문자열을 "python"으로 바꾸어서 저장해 보자.
'''
Life is too short
you need java
※ replace 함수를 사용해 보자.
'''
# 해설
f = open('test.txt', 'r')
body = f.read()
f.close()
body = body.replace('java', 'python')
f = open('test.txt', 'w')
f.write(body)
f.close()
# 나의 문제 파일에 관한부분에 약하다.
'코딩공부 > 점프 투 파이썬' 카테고리의 다른 글
## 점프 투 파이썬 - 클래스 ( 2 ) (0) | 2020.02.03 |
---|---|
## 점프 투 파이썬 - 클래스 ( 1 ) (0) | 2020.02.02 |
## 점프 투 파이썬 - 파일 읽고 쓰기 (0) | 2020.01.31 |
## 점프 투 파이썬 - 사용자 입력과 출력 (0) | 2020.01.30 |
## 점프 투 파이썬 - 함수 (0) | 2020.01.29 |