๊ตณ์ด ๊ถ๊ธํด ํด์
๋จธ๋ฆฌ๊ฐ ํฐ์ง ๊ฒ ๊ฐ์์ ์ ๋ฆฌํ๋
์ด๋ ต๋ค ์ด๋ ค์ ๋ฌธ์ ํ์ด
์๋ ๋ฌธ์ )
in / not in ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ, fruits ๋ฆฌ์คํธ ์์ ๊ณผ์ผ์ด ์๋์ง ํ์ธํ๋ ์ฝ๋๋ฅผ ์์ฑํ์์ค.
fruits = ["apple", "banana", "cherry"]
if "apple" in fruits:
print("์ฌ๊ณผ๊ฐ ์์ต๋๋ค.") # ์ถ๋ ฅ๋จ
if "orange" not in fruits:
print("์ค๋ ์ง๊ฐ ์์ต๋๋ค.") # ์ถ๋ ฅ๋จ
๐ง
ํ ๊ฐ์ฉ๋ง ์ฐพ์ ์ ์๊ณ , ๋ฌธ์์ด๋ง ์ธ์ํ๋ ๊ฒ์์ค์ง์ ๋ง๋ค์.
๋ค์ ๊ฒ์ํด์ผ ํ ๋๋ input์ ๋ฐ๋ณตํด์ ์คํํ์.
์๋ํ ์ฝ๋
fruits = ["apple", "banana", "cherry"]
while True :
while True :
search = input("์นฎ๋ ๊ณผ์ผ์ 1๊ฐ๋ง ์
๋ ฅํด์ฃผ์ธ์: ")
if len(search.replace(",", "").split()) != 1 :
print("๊ณผ์ผ **ํ๋์ฉ**๋ง ๊ฒ์ํ ์ ์์ต๋๋ค.")
elif map(str, search) == r'[\d!@#$%^&*()]+' : #isdigit() #import re
# ์ ๊ทํํ์์ == ๋ก ๋น๊ต ๋ถ๊ฐ.
print("์ซ์๋ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ณผ์ผ๋ช
์ ์
๋ ฅํด์ฃผ์ธ์.")
else:
break
if search in fruits :
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")
break
if search not in fruits :
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")
<์ค๋ต๋ ธํธ>
map(str, search) == r'[\d!@#$%^&*()]+' โถ๏ธ ๋ฌด์กฐ๊ฑด False
1. ์ข์ธก) ๊ฒฐ๊ณผ: map ๊ฐ์ฒด / ๋ฌธ์์ด ์๋ / ์ถ๋ ฅํด๋ ๋ด์ฉ ์ ๋ณด์
2. ์ฐ์ธก) ๊ฐ์ด ์๋, ๊ท์น์ ์ฐพ์๋ด๋ ๊ธฐ๋ฅ / ๊ทธ๋ฅ ๋ฌธ์์ด๋ก ์ธ์
๐ก๋์ฒด ์๋ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ
1. isdigit()
๋ฌธ์์ด์ด ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋์ง ํ์ธํ๋ค.
๊ฒฐ๊ณผ๋ True / False
โ ๏ธ ์ ์ ์์ฐ์๋ง True / ๋ง์ด๋์ค, ์์ False
2. import re
“ํจํด ๊ฒ์ฌ ๊ธฐ๋ฅ(์ ๊ทํํ์)์ ์ฐ๊ฒ ๋ค”๋ ์ ์ธ
โ map ๊ฐ์ฒด
map ๊ฐ์ฒด: ๊ณ์ฐ ์์ฝ๋ง ๊ฑธ์ด๋ ์ํ๋ก, ๊ทธ ์์ฒด๋ก๋ ์์ง ๊ณ์ฐ๋์ง ์์ ์ํ.
- ๊ณ์ฐ์ด ํ์ํ์ง ์์ ์๋ ์์ผ๋๊น, ๊ณ์ฐ์ ์๊ตฌํ ๋๋ง ์งํ → ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ, ์๋ ํจ์จ(์ข) ๊ณ์ฐ ์ ๋ (์ฐ) list๊ฐ ๊ณ์ฐ์ ์๊ตฌํ์ ๋์ผ ๊ณ์ฐํจ.
โ ์ ๊ทํํ์
๊ท์น(์กฐ๊ฑด) ์ผ๋ก์จ, ๊ฐ์ ๊ฒ์ฌํ๋ค. (๐ซจ ์์ธํ ๋ด์ฉ์ ๋ค์์... ๋ ๋ฐ์ฌ์ญ...)
isdigit()
โ search.isdigit():
"๋ฌธ์์ด search๊ฐ ์ซ์๋ก๋ง ๋ผ ์๋์ง ๊ฒ์ฌํด์ค."
- input() : ๊ฒฐ๊ณผ ๋ฌธ์์ด
- input ์ซ์ ์ ๋ ฅ → True → print("์ซ์๋ ๊ฒ์ํ ์ ์์ต๋๋ค.") → while ๋ฐ๋ณต, ์ฒซ์ค ์คํ
fruits = ["apple", "banana", "cherry"]
while True:
while True:
search = input("์ฐพ๋ ๊ณผ์ผ์ 1๊ฐ๋ง ์
๋ ฅํด์ฃผ์ธ์: ")
if len(search.replace(",", " ").split()) != 1:
print("๊ณผ์ผ **ํ๋์ฉ**๋ง ๊ฒ์ํ ์ ์์ต๋๋ค.")
elif search.isdigit(): #์
๋ ฅ์ ์ซ์ ์์ผ๋ฉด True -> ์๋ print ์คํ
print("์ซ์๋ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ณผ์ผ๋ช
์ ์
๋ ฅํด์ฃผ์ธ์.")
else:
break
if search in fruits:
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")
else:
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")
import re
โ import re
"์๋ ์ฝ๋์์ ์ ๊ทํํ์ ์ธ ๊ฑฐ์ผ."
ํด๋น ํํ ์์ด ์ ๊ทํํ์ ์ฌ์ฉ ๋ถ๊ฐ.
โ re.fullmatch(r"\d+", search) :
“search ์ ์ฒด๊ฐ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ธ์ง ๊ฒ์ฌํด๋ผ”
- re : ์ ๊ทํํ์์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๋ชจ๋
- fullmatch : ์ฒ์๋ถํฐ ๋๊น์ง ์ ๋ถ ๊ฒ์ฌ
- r"\d+" : ์ซ์๊ฐ 1๊ฐ ์ด์ ์ฐ์์ผ๋ก ์๋ ํจํด
โช๏ธ \d : ์ซ์ 1๊ฐ(0 ~ 9)
โช๏ธ + : 1๊ฐ ์ด์
โช๏ธ r"" : ๋ฐฑ์ฌ๋์๋ฅผ ํน์๋ฌธ์(ex. \n \t)๋ก ์ฐ์ง ๋ง๊ณ , ๊ทธ๋๋ก ์ฐ๊ธฐ ์ํ ํํ (๐โ๏ธ ์ํ! ์์ ์ดํด)
import re # "๋ ์ ๊ทํํ์ ์ด๋ค~"
fruits = ["apple", "banana", "cherry"]
while True:
while True:
search = input("์ฐพ๋ ๊ณผ์ผ์ 1๊ฐ๋ง ์
๋ ฅํด์ฃผ์ธ์: ")
# 1. ์ผํ๋ ๊ณต๋ฐฑ ๋ฑ์ผ๋ก ์ฌ๋ฌ ๊ฐ ์
๋ ฅํ ๊ฒฝ์ฐ ์ฒดํฌ
if len(search.replace(",", " ").split()) != 1:
print("๊ณผ์ผ **ํ๋์ฉ**๋ง ๊ฒ์ํ ์ ์์ต๋๋ค.")
# 2. ์ ๊ทํํ์์ผ๋ก ์ซ์๋ง ์
๋ ฅํ๋์ง ๊ฒ์ฌ
elif re.fullmatch(r"\d+", search): # ์ ์ฒด๊ฐ ์ซ์์ธ ๊ฒฝ์ฐ๋ง
print("์ซ์๋ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ณผ์ผ๋ช
์ ์
๋ ฅํด์ฃผ์ธ์.")
else:
break
# 3. ์ ์ ์
๋ ฅ ์ ๊ณผ์ผ ๋ฆฌ์คํธ์์ ๊ฒ์
if search in fruits:
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")
else:
print(f"{search}์ด(๊ฐ) ์์ต๋๋ค.")

