[Python 과제] Lv1. 랜덤 닉네임 생성기

import random

nick_1 = ['기철초풍', '멋있는', '재미있는']
nick_2 = ['도전적인', '노란색의', '바보같은']
nick_3 = ['돌고래', '개발자', '오랑우탄']

def creat_random_name():
    one_nick = random.choice(nick_1)
    two_nick = random.choice(nick_2)
    three_nick = random.choice(nick_3)
    nickname = f"{one_nick} {two_nick} {three_nick}"
    return nickname

randomname = creat_random_name()
print(randomname)
#처음에는 무엇으로 구현해야할지 감이 오지 않음

 

#random.choice()함수는 랜덤 숫자 생성기 의 random.randint()를 보고 randstr()을 해보았지만 실패 후 random.randstr()함수가 존재하는 검색해보고 없다는 것을 인지하고 사용가능한 random함수를 검색해서 적용해보았음

 

#import random과 리스트까지 작성하고 힌트로 사용자 지정 함수인 것을 인지

 

#그외에 오타나 들여쓰기 등을 수정하여 완료

 

[Python 과제] Lv2. 스파르타 자판기

beverages = {
"사이다": 1700,
"콜라": 1900,
"식혜": 2500,
"솔의눈": 3400
}

for key, value in beverages.items():
    print(f'{key}: {value}')

user_pick = input('음료를 선택해 주세요.')
                 
while True:
    if user_pick in beverages.keys():
        print(beverages[user_pick])
        break
    else:
        print('잘못된 선택입니다. 다시 입력해주세요.')
        user_pick = input('음료를 선택해 주세요: ')

money = int(input("돈을 넣어주세요"))

while True:
    if money < beverages[user_pick]:
        print(f'돈이 부족합니다. {beverages[user_pick] - money}원이 더 필요합니다.')
        money += int(input("돈을 넣어주세요"))

    elif money > beverages[user_pick]: 
        print(f'감사합니다. {money-beverages[user_pick]}원 받아가세요')
        break

    elif money == beverages[user_pick]:
        print('감사합니다')
        break
#딕셔너리를 만들고 딕셔너리 print문은 힌트를 보고 beverages.items() 함수를 인지하고 적용

 

#딕셔너리를 반복 조건문에 대입하지를 못하다가 beverages에 key를 넣어서 value값이 나온다는 것을 인지

 

#beverages.keys()를 beverages.key()로 입력해 print 출력이 안돼서 검색을 통해 전체 beverage가져오는 법을 인지

 

#user_pick 조건문에서 break문을 else에 넣었다가 무한 루프를 만들어버려서 수정했음

 

#money조건문은 완성했으나 부족금액과 남는 금액 계산을 {money}-{beverages[user_pick]}이런 식으로 해서 오류로 오류문을 보며 수정을 반복하다. 찾아냄

 

#else문이 꼭 필요해 보여 넣었다가 무한루프 생성 => else문을 지워버림

'과제' 카테고리의 다른 글

반복문 연습하기 Part 1, 2, 3  (0) 2024.10.14
내일배움캠프 8조 Python 반복문  (0) 2024.10.11
내일배움캠프 10/9(한글날) + 개인과제  (11) 2024.10.09
9/30 Python 톺아보기  (0) 2024.09.30
9/27 걷기단계 2, 3  (0) 2024.09.27

반복문 연습하기 Part 1

주어진 리스트와 찾고자 하는 값을 입력받아, 해당 값이 리스트에서 몇 번 등장하는지 출력해주세요.
Python
복사
numbers = [1, 2, 3, 4, 2, 2, 5, 2] value_to_find = 2
 
출력예시
Python
복사
리스트에서 24회 등장합니다!

 

답변

numbers = [1, 2, 3, 4, 2, 2, 5, 2]
value_to_find = 2

count = 0

for number in numbers:
    if number == value_to_find:
        count += 1

print(f'리스트에서{value_to_find}는 {count}회 등장합니다!')

 

 

반복문 연습하기 Part 2

 

리스트에 포함된 모든 숫자의 합을 계산하는 프로그램을 작성해주세요.
Python
복사
numbers = [10, 20, 30, 40, 50] total_sum = 0
 
출력예시
Python
복사
150

 

답변

numbers = [10, 20, 30, 40, 50]
total_sum = 0

for number in numbers:
    total_sum += number
    
print(total_sum)

 

 

반복문 연습하기 Part 3

팩토리얼을 계산해보아요 !
 
팩토리얼은 n! = n * (n-1) * (n-2) * ... * 1로 정의됩니다.
 
0!은 1로 정의됩니다.
Python
복사
number = 5
 
출력예시
Python
복사
120

 

답변

number = 5
factorial = 1

for i in range(1, number + 1):  # 1부터 number까지 반복
    factorial *= i  # 팩토리얼 계산

print(factorial)

'과제' 카테고리의 다른 글

파이썬 응용하기 1번 2번  (0) 2024.10.15
내일배움캠프 8조 Python 반복문  (0) 2024.10.11
내일배움캠프 10/9(한글날) + 개인과제  (11) 2024.10.09
9/30 Python 톺아보기  (0) 2024.09.30
9/27 걷기단계 2, 3  (0) 2024.09.27

반복문 for - while.pptx
0.77MB
1 page

 

 

2 page
3 page
4 page
5 page

 

6 page
7page
8 page
9 page
10 page
11 page
12 page
13 page
14 page
15 page
16 page

'과제' 카테고리의 다른 글

파이썬 응용하기 1번 2번  (0) 2024.10.15
반복문 연습하기 Part 1, 2, 3  (0) 2024.10.14
내일배움캠프 10/9(한글날) + 개인과제  (11) 2024.10.09
9/30 Python 톺아보기  (0) 2024.09.30
9/27 걷기단계 2, 3  (0) 2024.09.27
  • 숫자맞추기 게임
  • 총평
  • 클래스와 함수 사용하기
  • 총평

 

 

개인과제

1. 숫자맞추기 게임

과제 내용

  1. 플레이어와 컴퓨터가 참여하는 숫자 맞추기 게임을 만드세요.
  2. 프로그램은 다음과 같은 기능을 포함해야 합니다.
  • 컴퓨터는 1부터 10 사이의 랜덤한 숫자를 생성합니다.
  • 플레이어는 숫자를 입력하고, 입력한 숫자가 큰지 작은지 힌트를 얻습니다.
  • 플레이어가 숫자를 맞힐 때까지 위 과정을 반복합니다.

import random #랜덤 패키지 가져오기

 

computer_num = random.randint(1,10) #1에서10사이의 숫자를 랜덤으로 가져오게 지정
print('''1과 10 사이의 숫자를 하나 정했습니다. 
이 숫자는 무엇일까요?''')  #위 메서드가 작용 했을 때 출력 되는 문장 작성

while True: #조건이 참일 때까지 반복 설정
    user_num = int(input('숫자를 입력하세요.')) #사용자가 직접 숫자를 입력하고 정수로 바꿔주게 설정
    
    if computer_num == user_num: #랜덤 숫자와 사용자 숫자가 동일할 때 작동 설정
        print(f'정답입니다.') #동일 시 출력 되는 메시지 설정
        break #위 조건이 작동 시 반복을 멈추게 설정
        
    if user_num < computer_num: #사용자 입력 숫자가 컴퓨터 보다 적을때 작동 설정
        print("너무 작습니다. 다시입력하세요.") #위 조건이 작동 시 출력 되는 메시지 작성
    else: #위 조건이 거짓일 때 작동 설정
        print("너무 큽니다. 다시입력하세요.") #else 조건이 작동 시 출력 되는 메시지 작성

 

과 10 사이의 숫자를 하나 정했습니다.
이 숫자는 무엇일까요?
숫자를 입력하세요.4
너무 작습니다. 다시입력하세요.
숫자를 입력하세요.5
정답입니다.

 


총평

처음 문제를 보게 되었을땐 반복문과 조건문을 사용해야 할 것이라 생가했지만 

어떤식으로 작성 해야할지 감이 안잡혀서 

강의자료와 인터넷 검색으로 감을 잡고서 작성 시작

1) while에 어떤 조건이 코드를 작동 시킬지 감이 잡히지 않아 검색하여

while True: 으로 작성 후 스스로 코드 작성

2) if문에 어떤 조건을 걸지 무엇을 먼저 작동 시켜야할지 시행착오를 거침


 

 

2. 클래스 함수 사용

 

과제 내용

  • 이름, 성별, 나이를 입력받고, 이를 출력하는 프로그램을 작성해주세요.

1차 시도

class person: #person  #클래스 정의
    def __init__(self, name, gender, age):#초기화 메서드
        self.name = name #속성정의
        self.gender = gender
        self.age = age
                
    def display(self):
        print(f"""('이름':{self.name}),('성별': {self.gender}
('나이': {self.age}"""    )
    
person1 = person('장한검', 'male', 29)

 

print(person1)

<__main__.person object at 0x000001EB6D2775C0>

 

작동은 하지만 값이 이상하게 나옴

 

 

2차시도

class person: #person #클래스 정의
    def __init__(self, name, gender, age): #초기화 메서드
        self.name = name #속성정의
        self.gender = gender
        self.age = age
        
    def __str__(self): #객체 문자열 반환 메서드 설정
        return """('이름':(self.name)),('성별': (self.gender)
('나이': (self.age)"""    

name = input("이름을 입력하세요")  #사용자 입력 설정
gender = input("성별을 입력하세요")
age = input("나이를 입력하세요")

이름을 입력하세요준영
성별을 입력하세요male
나이를 입력하세요29

 

input()함수만 작동하고 아무일 없음

 

3차 시도

class person: #person #클래스 정의
    def __init__(self, name, gender, age): #초기화 메서드
        self.name = name #속성정의
        self.gender = gender
        self.age = age
        
    def __str__(self): #객체 문자열 반환 메서드 설정
        return """('이름':(self.name)),('성별': (self.gender)
('나이': (self.age)"""    

 

person1 = person('장한검', 'male', 29) #객체별 정보 넣기

 

print(person1)

('이름':(self.name)),('성별': (self.gender)
('나이': (self.age)

 

작동을 하지만 return값만 나오고 아무일 없음


 

총평

클래스 정의, 생성자 지정은 된 것같으나

1) 멤버변수가 제대로 지정 된 건지 모르겟음

2) 정보를 출력하는 함수가 어떻게 작동하는지 모르겟음

3) 입력 코드를 어떻게 어디에 사용해야할지 모르겟음

 

 

'과제' 카테고리의 다른 글

반복문 연습하기 Part 1, 2, 3  (0) 2024.10.14
내일배움캠프 8조 Python 반복문  (0) 2024.10.11
9/30 Python 톺아보기  (0) 2024.09.30
9/27 걷기단계 2, 3  (0) 2024.09.27
09/26 걷기단계 1  (2) 2024.09.26

1.python이란?

 

1) “Python은 가독성이 높고 문법이 쉽다”라는 문장에 증거가 될 사례를 작성해주세요.

python의 사례로는 유명한 구글, 인스타그램, 스포티파이 등이 있습니다.

-구글: 백엔드에 C++와 파이썬을 결합하여 사용(파이썬은 빠른 전달과 관리가 필요한 부분에 사용)

-인스타그램: 파이썬으로 작성된 Django를 기본 서버 언어로 사용한다고 합니다

-스포티파이: 스포티파이는 백엔드의 80%가 파이썬으로 작성 되어 AI기능을 추가해 듣는 노래를 분석하고 비슷한 노래를 추천해준다고 합니다.

 

2) 가독성이 좋은 언어를 사용했을때 어떤 이점이 있나요?

프로그램마다 다른 스타일의 언어들을 사용하게 되는데 파이썬의 경우 들여쓰기, 글자수, 띄어쓰기, 연산자, 괄호 등 가독성을 높이 매우 높습니다. 가독성이 높아 남들이 올려 놓은 소스를 가져다 사용해도 내 소스를 공유해도 문제없이 잘 돌아가며 코드를 이해하기 쉬워집니다.

 

2. Python에서 더 나아가기

1) 데이터 분석가가 Python을 알아야하는 이유는 무엇인가요?

데이터처리, 분석, 시각화, 모델링을 위한 강력한 도구를 제공하기 때문입니다.

 

2) 데이터 분석가가 Python을 이용했을 때 어떤 이점이 있나요?

python에는 다양한 분석 라이브러리(Pandas, Matplotlib, NumPy, Seaborn, Scikit-learn)가 존재하여

데이터처리, 분석, 시각화, 모델링에 이점이있습니다. 또한 쉬운 문법을 사용하고있어

소스를 공유하기 쉬워 다양한 커뮤니티가 존재합니다

 

 

'과제' 카테고리의 다른 글

반복문 연습하기 Part 1, 2, 3  (0) 2024.10.14
내일배움캠프 8조 Python 반복문  (0) 2024.10.11
내일배움캠프 10/9(한글날) + 개인과제  (11) 2024.10.09
9/27 걷기단계 2, 3  (0) 2024.09.27
09/26 걷기단계 1  (2) 2024.09.26

+ Recent posts