πŸ”₯ Nested If Statements

Min-Ho LeeΒ·2020λ…„ 6μ›” 24일
0

Learn Python

λͺ©λ‘ 보기
9/22
post-thumbnail

Wednesday_June_24
.
.
.

❓ Nested If Statements(쀑첩 Ifλ¬Έ)

μš°μ„  쀑첩 ifλ¬Έ μ΄λž€,
ifλ¬Έ μ•ˆμ— 또 λ‹€λ₯Έ if문이 μ‘΄μž¬ν•˜λŠ” 것 이닀.

이걸 μ™œ? μ“ΈκΉŒ?

쀑첩 없이 if문을 μ‚¬μš©ν•œλ‹€λ©΄, μ½”λ“œμ˜ 가독성이 λ–¨μ–΄μ§ˆ 수 μžˆλ‹€.

🀭 예문

if status == "학생" and year >= 3:
    print("취업이 곧 λ‹€κ°€μ˜¨λ‹€!")
elif status == "학생" and year == 2:
    print("κ·Έλž˜λ„ 아직 놀 μ‹œκ°„μ΄ μžˆλ„€..")
elif status == "학생" and year < 2:
    print("ν•œμ°½ λ†€λ•Œμ§€..")
else:
    print("μ—΄μ‹¬νžˆ 곡뢀 ν•΄μ„œ λŒ€ν•™κ΅ λΆ€ν„° 가라!")

이 μ½”λ“œμ—μ„œλŠ” status == "학생" μ΄λΌλŠ”
쑰건이 겹치게 λœλ‹€.

μ΄λ ‡κ²Œ λ°˜λ³΅λ˜λŠ” μ»¨λ””μ…˜μ΄ μžˆμ„λ•ŒλŠ” nested if statemens 즉 μ€‘μ²©λ˜λŠ” if ꡬ문을 μ‚¬μš©ν•˜λ©΄ 가독성이 훨씬 높아지고 μ½”λ“œλ„ κ°„κ²°ν•΄μ§‘λ‹ˆλ‹€.

if status == "학생":
    if year >= 3:
        print("취업이 곧 λ‹€κ°€μ˜¨λ‹€")
    elif year == 2:         
        print("κ·Έλž˜λ„ 아직 놀 μ‹œκ°„μ΄ μžˆλ„€..")
    elif year < 2:                  
        print("ν•œμ°½ λ†€λ•Œμ§€..")
else:
    print("μ—΄μ‹¬νžˆ 곡뢀 ν•΄μ„œ λŒ€ν•™κ΅ λΆ€ν„° 가라!")

πŸ’» 쀑첩 ifλ¬Έ ν™œμš© Mission

🀯 문제

λ‹€μŒμ˜ 방정식을 ν•΄κ²°ν•˜λŠ” x의 값을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨ κ΅¬ν˜„ν•˜κΈ°.

ax = b

😳 쑰건

1️⃣ Input 으둜 주어진 a 와 b κ°’μœΌλ‘œ μœ„μ˜ 방정식을 μΆ©μ‘±ν•˜λŠ” 단 ν•˜λ‚˜μ˜ μ •μˆ˜κ°€ μ‘΄μž¬ν•œλ‹€λ©΄ ν•΄λ‹Ή μ •μˆ˜λ₯Ό 좜λ ₯

2️⃣ 만일 a 와 b κ°’μœΌλ‘œ μœ„μ˜ 방정식을 μΆ©μ‘±ν•˜λŠ” μ •μˆ˜κ°€ μ—†λ‹€λ©΄ "No Solution"을 좜λ ₯ν•΄μ£Όμ„Έμš”.

3️⃣ a 와 b κ°’μœΌλ‘œ μœ„μ˜ 방정식을 μΆ©μ‘±ν•˜λŠ” μ •μˆ˜κ°€ λ§Žλ‹€λ©΄ "Many Solutions"을 좜λ ₯ν•΄μ£Όμ„Έμš”.

4️⃣ aλ‚˜ bλŠ” 0이 될 수 μžˆλ‹€.

예λ₯Ό λ“€μ–΄

a = 1, b = -2
좜λ ₯값은 -2

a = 2, b = -1
좜λ ₯값은 "No Solution"

🀬 λ‚˜μ˜ 풀이

if a == 0:
    if b == 0:
        print("Many Solutions")
    else:
        print("No Solution")
elif a != 0 and b == 0:
    print(b // a)
elif a > 0:
    if (b > 0 and (b % a) == 0) or (b < 0 and (-b % a) == 0):
        print(b // a)
    else:
        print("No Solution")
elif a < 0:
    if (b > 0 and (b % (-a)) == 0) or (b < 0 and (-b % (-a)) == 0):
        print(b // a)
    else:
        print("No Solution")

😳 λ©˜ν† λ‹˜μ˜ 풀이

if a == 0:
    if b == 0:
        print('Many Solutions')
    else:
        print('No Solution')
elif b % a == 0:
    print(b // a)
else:
    print('No Solution')

✍️ μ†Œκ°

일단 μ˜€λžœλ§Œμ— 머리쒀 κ΅΄λ Έλ‹€.
μœ„μ½”λ“œ ꡿즈인 λ…ΈνŠΈμ™€ νŽœμ„ κΊΌλ‚΄λ©° λ…ΉμŠ¨ λ‡Œλ„ 기름칠을 ν•΄μ£Όμ—ˆλ‹€.
.
사싀 λ‚΄κ°€ μ§  μ½”λ“œκ°€ μ›λž˜ 저것보닀 2λ°°λŠ” 더 κΈΈμ—ˆλŠ”λ°,
μ €λ§ŒνΌ μ€„μ—¬μ„œ μžλ§Œμ— μ°Œλ“€μ–΄ μžˆμ—ˆλ‹€. λ¬Όλ‘  λ©˜ν† λ‹˜μ˜ μ½”λ“œκ°€ λ°˜μ„±ν•˜κ²Œ ν•΄μ£Όμ—ˆλ‹€.
.
일단 λ‚΄κ°€ 이 문제λ₯Ό 가지고 2μ‹œκ°„? 3μ‹œκ°„? 을 μ‚½μ§ˆ ν•  쀄 λͺ°λžλ‹€.
.
μžλ§Œν•˜μ§€ μ•Šκ³  κ²Έμ†ν•˜κ²Œ μ‚΄μ•„μ•Ό ν•˜λŠ”λ° λ‹€μ‹œ ν•œλ²ˆ λ°˜μ„± 쀑이닀 πŸ™‡πŸ»β€β™‚οΈ
.
또 λ‹€λ₯΄κ²Œ λŠλ‚€μ μ€, μ€μš° λ©˜ν† λ‹˜κ»˜μ„œ 말씀해주신
⏰ μ ˆλŒ€μ μΈ μ‹œκ°„ 투자 = ⛏ μ‚½μ§ˆ
νž˜λ“€μ—ˆμ§€λ§Œ μ˜€λŠ˜λ„ 즐겼고 μž¬λ°Œμ—ˆλ‹€.

profile
πŸ‡ Rabbit can take a rest, but 🐒 turtle can't

0개의 λŒ“κΈ€