๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Python

[Python] ์—ฐ์Šต๋ฌธ์ œ 4

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 3. 25.
๋ฐ˜์‘ํ˜•

Q1. ์ฃผ์–ด์ง„ ์ž์—ฐ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜(is_odd)๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž.

A)

>>> def is_odd(number):
...     if number % 2 == 1:  # 2๋กœ ๋‚˜๋ˆ„์—ˆ์„๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด๋ฉด ํ™€์ˆ˜์ด๋‹ค.
...         return True
...     else:
...         return False
...
>>> is_odd(3)
True
>>> is_odd(4)
False

 

 

Q2. ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ์ˆ˜์˜ ํ‰๊ท  ๊ฐ’์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์ž. 

(๋‹จ, ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๋‹ค.)

A)

>>> def avg_numbers(*args):  # ์ž…๋ ฅ ๊ฐœ์ˆ˜์— ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด *args๋ฅผ ์‚ฌ์šฉ
...     result = 0
...     for i in args:
...         result += i
...     return result / len(args)
...
>>> avg_numbers(1, 2)
1.5
>>> avg_numbers(1,2,3,4,5)
3.0

 

 

Q3. ๋‹ค์Œ์€ ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋”ํ•˜์—ฌ ๋Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

input1 = input("์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:")
input2 = input("๋‘๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:")

total = input1 + input2
print("๋‘ ์ˆ˜์˜ ํ•ฉ์€ %s ์ž…๋‹ˆ๋‹ค" % total)

์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•ด ๋ณด์ž.

์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:3
๋‘๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:6
๋‘ ์ˆ˜์˜ ํ•ฉ์€ 36 ์ž…๋‹ˆ๋‹ค

3๊ณผ 6์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ 9๊ฐ€ ์•„๋‹Œ 36์ด๋ผ๋Š” ๊ฒฐ๊ด๊ฐ’์„ ๋Œ๋ ค์ฃผ์—ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ด ๋ณด์ž.

 

A)

input1 = input("์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:")
input2 = input("๋‘๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:")

total = int(input1) + int(input2)
print("๋‘ ์ˆ˜์˜ ํ•ฉ์€ %s ์ž…๋‹ˆ๋‹ค" % total)

โ˜… ์ž…๋ ฅ์€ ํ•ญ์ƒ ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•œ๋‹ค.

 

 

Q4. ๋‹ค์Œ ์ค‘ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ ํ•œ ๊ฐœ๋ฅผ ๊ณจ๋ผ ๋ณด์ž.

โ‘ print("you" "need" "python")

โ‘กprint("you"+"need"+"python")

โ‘ขprint("you", "need", "python")

โ‘ฃprint("".join(["you", "need", "python"]))

 

A) โ‘ข

โ˜… ์ฝค๋งˆ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ณต๋ฐฑ์ด ์‚ฝ์ž…๋˜์–ด ๋”ํ•ด์ง„๋‹ค.

 

 

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"๋ผ๋Š” ๋ฌธ์žฅ์„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์˜ˆ์ƒํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜์ •ํ•ด ๋ณด์ž.

 

A)

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

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

โ˜… ํŒŒ์ผ์„ ๋‹ซ์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋‹ค์‹œ ์—ด๋ฉด ํŒŒ์ผ์— ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๋‹ค.

์—ด๋ฆฐ ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ close()๋กœ ๋‹ซ์•„์ค€ ํ›„ ๋‹ค์‹œ ์—ด์–ด์„œ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์–ด์•ผ ํ•œ๋‹ค.

 

๋˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด with ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

with open("test.txt", 'w') as f1:
    f1.write("Life is too short! ")
with open("test.txt", 'r') as f2:
    print(f2.read())

 

 

Q6. ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ํŒŒ์ผ(test.txt)์— ์ €์žฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ๋ณด์ž.

(๋‹จ, ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋”๋ผ๋„ ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ๋‚ด์šฉ์„ ์œ ์ง€ํ•˜๊ณ  ์ƒˆ๋กœ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.)

A)

user_input = input("์ €์žฅํ•  ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”:")
f = open("test.txt", 'a')
f.write(user_input)
f.write("\n")  # ์ž…๋ ฅ๋œ ๋‚ด์šฉ์„ ์ค„ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„
f.close()

 

 

Q7. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ง€๋‹Œ ํŒŒ์ผ test.txt๊ฐ€ ์žˆ๋‹ค. ์ด ํŒŒ์ผ์˜ ๋‚ด์šฉ ์ค‘ 'java'๋ผ๋Š” ๋ฌธ์ž์—ด์„ 'python'์œผ๋กœ ๋ฐ”๊พธ์–ด์„œ ์ €์žฅํ•ด ๋ณด์ž.

Life is too short
you need java

 

A)

f = open('test.txt', 'r')
body = f.read()
f.close()

body = body.replace('java', 'python')

f = open('text.txt', 'w')
f.write(body)
f.close()
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€