๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“๐Ÿ’ช/Python

๋“ฑ๊ธ‰ํ‘œ, ์ž…๋ ฅ๊ฐ’, ๋ฐ˜๋ณต๋ฌธ ๊ณผ์ œ

by ์ˆ˜์จ”์•™ 2022. 9. 15.

1๋ฒˆ 

  • ์‚ฌ์šฉ์ž์˜ ์‹œํ—˜ ์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋“ฑ๊ธ‰์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”
    • ๋“ฑ๊ธ‰ํ‘œ
      • 91~100 : A
      • 81~90 : B
      • 71~80 : C
      • ~71 : F
  • ์ž…์ถœ๋ ฅ ์˜ˆ์ œ
def get_grade(score):
    # some code

score = int(input())
grade = get_grade(score)
print(grade) # A ~ F

 

์ด๊ฑด ์ง„์งœ ์‰ฝ๊ฒŒ ๋๋‹ค!

def get_grade(score):
    if score >= 91:
        return "A"
    elif score >= 81:
        return "B"
    elif score >= 71:
        return "C"
    else:
        return "F"

while True:
    try:
        score = int(input())
        break
    except ValueError:
        print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”")

grade = get_grade(score)
print(grade)

 


2๋ฒˆ

  • ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ๋ฐ˜๋ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๊ฒฝ์šฐ ์ž…๋ ฅ๊ฐ’์— 2๋ฐฐ๋ฅผ ๊ณฑํ•œ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๊ฒฝ์šฐ “์ž…๋ ฅํ•œ ๋ฌธ์ž๋Š” {} ์ž…๋‹ˆ๋‹ค.” ๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”
    • {} ์ž๋ฆฌ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ exit์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ˆซ์ž๊ฐ€ 5ํšŒ ์ด์ƒ ์ž…๋ ฅ๋์„ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒ์‹œ์ผœ์ฃผ์„ธ์š”

 

์™€ ์ด๊ฒƒ๋„ ๋˜๊ฒŒ ์‰ฌ์šธ ์ค„ ์•Œ์•˜๋‹ค.

๋จธ๋ฆฟ์†์— ์–ด๋–ป๊ฒŒ ์งœ๋ฉด ๋˜๋Š”์ง€ ๊ทธ๋ ค์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ๋ฐ”๋กœ ์งœ๋ฉด ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ

์ž๊พธ ์˜ค๋ฅ˜๊ฐ€๋‚˜์„œ ๋ฏธ์น˜๋Š” ์ค„ ์•Œ์•˜๋‹ค...

 

์ผ๋‹จ ๋‚˜๋Š” main()ํ•จ์ˆ˜๋ฅผ ์คฌ๋‹ค.

์ฒ˜์Œ์— input_value๋ฅผ input()๊ฐ’์„ ์ฃผ๊ณ  try/except ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ

๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฌธ๊ตฌ ์ถœ๋ ฅํ•˜๊ณ , ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜์„œ except๊ตฌ๋ฌธ์œผ๋กœ ๋ณด๋‚ด๋ ค๊ณ ํ–ˆ๋Š”๋ฐ

๋ฌธ์ œ๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค๊ณ  ์—๋Ÿฌ๊ฐ€ ๋‚˜์งˆ ์•Š์•˜๋‹ค.. 

๊ทธ๋„ ๋‹น์—ฐํ• ๊ฒƒ์ด input()๊ฐ’์— ์ˆซ์ž๋ฅผ ๋„ฃ๋Š”๋‹ค๊ณ  ๋‹น์—ฐํžˆ ์—๋Ÿฌ๊ฐ€ ์•ˆ๋‚˜์ง€... ๋ฌธ์žํƒ€์ž…์˜ ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐˆ ๋ฟ...

 

๊ทธ๋ž˜์„œ try/except๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์•ผํ•˜๋Š”๋ฐ

try ๊ตฌ๋ฌธ์— ๋ฌธ์ž ๋ฌธ๊ตฌ๋ฅผ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์•ˆ๋‚˜๊ณ  ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด๋„ ๋ฌธ์ž๋กœ ์ฐํž๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—

try ๊ตฌ๋ฌธ์— int๋กœ ๋ฐ”๊พธ๊ฒŒ ํ•ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด except ๋ฌธ์œผ๋กœ ๋ณด๋‚ด๊ฒŒ ํ–ˆ๋‹ค.

 

def main():
    input_value = input()
    try:
        input_value = int(input_value)
        print(2*input_value)
    except ValueError:
        print(f'์ž…๋ ฅํ•œ ๋ฌธ์ž๋Š” {input_value}์ž…๋‹ˆ๋‹ค')
main()

 

๊ทธ๋žฌ๋”๋‹ˆ ์•„์ฃผ ์ž˜ ๋๋‹ค.

์ด์ œ ์ด๊ฑธ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋‹ˆ๊นŒ while ๋ฌธ์„ ์”Œ์›Œ์ค˜์•ผ๋œ๋‹ค(๋ฐ˜๋ณตํšŸ์ˆ˜๊ฐ€ ์•ˆ์ •ํ•ด์ ธ์žˆ์œผ๋‹ˆ๊นŒ for ์•„๋‹ˆ๊ณ  while!)

๊ทธ๋ฆฌ๊ณ  exit๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ 5๋ฒˆ ์ด์ƒ ์ž…๋ ฅ๋์„๊ฒฝ์šฐ ์ข…๋ฃŒ์‹œ์ผœ์ค˜์•ผ๋œ๋‹ค.

 

def main():
    count = 0
    while True:
        input_value = input()
        if input_value == "exit" or count >= 5:
            return False
        else:
            try:
                input_value = int(input_value)
                print(2*input_value)
                count += 1
            except ValueError:
                print(f'์ž…๋ ฅํ•œ ๋ฌธ์ž๋Š” {input_value}์ž…๋‹ˆ๋‹ค')
                count += 1
main()

๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ์งœ๋‹ˆ๊นŒ

5๋ฒˆ์งธ ์ž…๋ ฅํ•˜๊ณ  ๊ฒฐ๊ณผ์ฐํžˆ๊ณ  ์ข…๋ฃŒ๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ณ 

6๋ฒˆ์งธ input_value๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ฒฐ๊ณผ๋‚˜์˜ค์ง€์•Š์€์ฑ„๋กœ ์ข…๋ฃŒ๊ฐ€ ๋œ๋‹ค.

 

์™œ๋ƒํ•˜๋ฉด input()๊ฐ’์„ ๋ฐ›๊ณ  count๊ฐ€ 5๋ณด๋‹ค ํฐ์ง€ ๋น„๊ต๋ฅผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค!

์ผ๋‹จ 6๋ฒˆ์งธ ๊ฐ’์„ ๋ฐ›๊ณ  count๊ฐ€ 5๋ณด๋‹ค ํฌ๊ตฌ๋‚˜! ํ•˜๊ณ  ๋๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์ € count๋ฅผ ๋”ฐ๋กœ ์œ„๋กœ ์˜ฌ๋ ค์ฃผ์ž

 

def main():
    count = 0
    while True:
        if count >= 5:
            return False
        input_value = input()
        if input_value == "exit" or count >= 5:
            return False
        else:
            try:
                input_value = int(input_value)
                print(2*input_value)
                count += 1
            except ValueError:
                print(f'์ž…๋ ฅํ•œ ๋ฌธ์ž๋Š” {input_value}์ž…๋‹ˆ๋‹ค')
                count += 1
main()

 

์•„ ๋„ˆ๋ฌด ๊น”๋”ํ•ด์„œ ์ข‹๋‹ค...........

 


3๋ฒˆ

  • ์ž…์ถœ๋ ฅ ์˜ˆ์ œ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘, ํ‰๊ท  ์„ฑ์ ์ด 70์  ์ด์ƒ์ธ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”
  • ์ž…์ถœ๋ ฅ ์˜ˆ์ œ
users = [
    {"name": "Ronald", "age": 30, "math_score": 93, "science_score": 65, "english_score": 93, "social_score": 92},
    {"name": "Amelia", "age": 24, "math_score": 88, "science_score": 52, "english_score": 78, "social_score": 91},
    {"name": "Nathaniel", "age": 28, "math_score": 48, "science_score": 40, "english_score": 49, "social_score": 91},
    {"name": "Sally", "age": 29, "math_score": 100, "science_score": 69, "english_score": 67, "social_score": 82},
    {"name": "Alexander", "age": 30, "math_score": 69, "science_score": 52, "english_score": 98, "social_score": 44},
    {"name": "Madge", "age": 22, "math_score": 52, "science_score": 63, "english_score": 54, "social_score": 47},
    {"name": "Trevor", "age": 23, "math_score": 89, "science_score": 88, "english_score": 69, "social_score": 93},
    {"name": "Andre", "age": 23, "math_score": 50, "science_score": 56, "english_score": 99, "social_score": 54},
    {"name": "Rodney", "age": 16, "math_score": 66, "science_score": 55, "english_score": 58, "social_score": 43},
    {"name": "Raymond", "age": 26, "math_score": 49, "science_score": 55, "english_score": 95, "social_score": 82},
    {"name": "Scott", "age": 15, "math_score": 85, "science_score": 92, "english_score": 56, "social_score": 85},
    {"name": "Jeanette", "age": 28, "math_score": 48, "science_score": 65, "english_score": 77, "social_score": 94},
    {"name": "Sallie", "age": 25, "math_score": 42, "science_score": 72, "english_score": 95, "social_score": 44},
    {"name": "Richard", "age": 21, "math_score": 71, "science_score": 95, "english_score": 61, "social_score": 59},
    {"name": "Callie", "age": 15, "math_score": 98, "science_score": 50, "english_score": 100, "social_score": 74},
]

def get_filter_user(users):
    # some code
    return filter_users

filter_users = get_filter_user(users)
pprint(filter_users)
"""
[{'age': 30, 'name': 'Ronald'},
 {'age': 24, 'name': 'Amelia'},
 {'age': 29, 'name': 'Sally'},
 {'age': 23, 'name': 'Trevor'},
 {'age': 26, 'name': 'Raymond'},
 {'age': 15, 'name': 'Scott'},
 {'age': 28, 'name': 'Jeanette'},
 {'age': 21, 'name': 'Richard'},
 {'age': 15, 'name': 'Callie'}]
"""

 

 

์ด๋ ‡๊ฒŒ ์ž…๋ ฅ์„ํ•ด์„œ ๋Œ๋ ธ๋”๋‹ˆ 

TypeError: list indices must be integers or slices, not str

์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค

for ๋ฌธ์„ ์ฐ์„๋•Œ๋Š” ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ์ •์ˆ˜๋กœ ๋„ฃ์–ด์ค˜์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ...

from pprint import pprint
users = [
    {"name": "Ronald", "age": 30, "math_score": 93, "science_score": 65, "english_score": 93, "social_score": 92},
    {"name": "Amelia", "age": 24, "math_score": 88, "science_score": 52, "english_score": 78, "social_score": 91},
    {"name": "Nathaniel", "age": 28, "math_score": 48, "science_score": 40, "english_score": 49, "social_score": 91},
    {"name": "Sally", "age": 29, "math_score": 100, "science_score": 69, "english_score": 67, "social_score": 82},
    {"name": "Alexander", "age": 30, "math_score": 69, "science_score": 52, "english_score": 98, "social_score": 44},
    {"name": "Madge", "age": 22, "math_score": 52, "science_score": 63, "english_score": 54, "social_score": 47},
    {"name": "Trevor", "age": 23, "math_score": 89, "science_score": 88, "english_score": 69, "social_score": 93},
    {"name": "Andre", "age": 23, "math_score": 50, "science_score": 56, "english_score": 99, "social_score": 54},
    {"name": "Rodney", "age": 16, "math_score": 66, "science_score": 55, "english_score": 58, "social_score": 43},
    {"name": "Raymond", "age": 26, "math_score": 49, "science_score": 55, "english_score": 95, "social_score": 82},
    {"name": "Scott", "age": 15, "math_score": 85, "science_score": 92, "english_score": 56, "social_score": 85},
    {"name": "Jeanette", "age": 28, "math_score": 48, "science_score": 65, "english_score": 77, "social_score": 94},
    {"name": "Sallie", "age": 25, "math_score": 42, "science_score": 72, "english_score": 95, "social_score": 44},
    {"name": "Richard", "age": 21, "math_score": 71, "science_score": 95, "english_score": 61, "social_score": 59},
    {"name": "Callie", "age": 15, "math_score": 98, "science_score": 50, "english_score": 100, "social_score": 74},
]
# ์ž…์ถœ๋ ฅ ์˜ˆ์ œ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘, ํ‰๊ท  ์„ฑ์ ์ด 70์  ์ด์ƒ์ธ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”
def get_filter_user(users):
    filter_users = []
    for i in users:
        avg = (users[i]["math_score"]+users[i]["science_score"]+users[i]["english_score"]+users[i]["social_score"])/4
        if avg >= 70:
            filter_users.append(users[i]["name"])
    return filter_users

filter_users = get_filter_user(users)
pprint(filter_users)

๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋ƒ....

 

์š”๋Ÿฌ์ผ€!!

ํ™•์‹คํžˆ ๋‚˜๋Š” ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ์•ฝํ•˜๋‹ค 

์ด๋ฒˆ์ฃผ ํŒŒ์ด์ฌ ๋ณต์Šตํ•  ๋•Œ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋” ์ž์„ธํžˆ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค!

from pprint import pprint
users = [
    {"name": "Ronald", "age": 30, "math_score": 93, "science_score": 65, "english_score": 93, "social_score": 92},
    {"name": "Amelia", "age": 24, "math_score": 88, "science_score": 52, "english_score": 78, "social_score": 91},
    {"name": "Nathaniel", "age": 28, "math_score": 48, "science_score": 40, "english_score": 49, "social_score": 91},
    {"name": "Sally", "age": 29, "math_score": 100, "science_score": 69, "english_score": 67, "social_score": 82},
    {"name": "Alexander", "age": 30, "math_score": 69, "science_score": 52, "english_score": 98, "social_score": 44},
    {"name": "Madge", "age": 22, "math_score": 52, "science_score": 63, "english_score": 54, "social_score": 47},
    {"name": "Trevor", "age": 23, "math_score": 89, "science_score": 88, "english_score": 69, "social_score": 93},
    {"name": "Andre", "age": 23, "math_score": 50, "science_score": 56, "english_score": 99, "social_score": 54},
    {"name": "Rodney", "age": 16, "math_score": 66, "science_score": 55, "english_score": 58, "social_score": 43},
    {"name": "Raymond", "age": 26, "math_score": 49, "science_score": 55, "english_score": 95, "social_score": 82},
    {"name": "Scott", "age": 15, "math_score": 85, "science_score": 92, "english_score": 56, "social_score": 85},
    {"name": "Jeanette", "age": 28, "math_score": 48, "science_score": 65, "english_score": 77, "social_score": 94},
    {"name": "Sallie", "age": 25, "math_score": 42, "science_score": 72, "english_score": 95, "social_score": 44},
    {"name": "Richard", "age": 21, "math_score": 71, "science_score": 95, "english_score": 61, "social_score": 59},
    {"name": "Callie", "age": 15, "math_score": 98, "science_score": 50, "english_score": 100, "social_score": 74},
]
# ์ž…์ถœ๋ ฅ ์˜ˆ์ œ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘, ํ‰๊ท  ์„ฑ์ ์ด 70์  ์ด์ƒ์ธ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”
def get_filter_user(users):
    filter_users = []
    for i in range(len(users)):
        a = list(users[i].values())[2:6]    # ๊ณผ๋ชฉ๋“ค ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ
        avg = sum(a)/4
        if avg >= 70:
            filter_name = users[i]['name']
            filter_age = users[i]['age']
            filter_users.append({'name':filter_name,'age':filter_age})
    return filter_users
users_list = get_filter_user(users)
pprint(users_list)

#         avg = (users[i]["math_score"]+users[i]["science_score"]+users[i]["english_score"]+users[i]["social_score"])/4
#         if avg >= 70:
#             filter_users.append(users[i]["name"])
#     return filter_users
#
# filter_users = get_filter_user(users)
# pprint(filter_users)
"""
[{'age': 30, 'name': 'Ronald'},
 {'age': 24, 'name': 'Amelia'},
 {'age': 29, 'name': 'Sally'},
 {'age': 23, 'name': 'Trevor'},
 {'age': 26, 'name': 'Raymond'},
 {'age': 15, 'name': 'Scott'},
 {'age': 28, 'name': 'Jeanette'},
 {'age': 21, 'name': 'Richard'},
 {'age': 15, 'name': 'Callie'}]
"""
728x90

๋Œ“๊ธ€