Python

[Python] μ—°μŠ΅λ¬Έμ œ 4

μ½”λ”©ν•˜λŠ” λΆ•μ–΄ 2021. 3. 25. 01:19
λ°˜μ‘ν˜•

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()
λ°˜μ‘ν˜•