본문 바로가기

Skill Stacks/Python41

Udemy : Python 커피 머신 프로젝트 Udemy : Python 커피 머신 프로젝트 3개 종류의 커피들이 주어진다 필요한 재료와 금액이 주어진다 유저는 어떤 커피를 마실지, 그리고 동전 얼마를 넣을지 입력을 한다 입력에 따라, 재료가 부족하든지, 금액이 부족하든지, if문을 넣었다 여기서 제일 집중했던 것은 함수를 만드는 것이었다 is_sufficient : 안에 재료가 적당히 있는지 확인하는 함수 make_coffee: is_sufficient가 True를 반환하면, 커피를 만드는 함수이다 money_change: 금액을 계산하는 함수이다 함수를 사용해서, 2개 이상의 변수를 반환했다 튜블로 반환이 되어서, 인덱스를 통해, 내가 원하는 데이터를 활용했다 MENU = { "espresso": { "ingredients": { "water":.. 2023. 1. 14.
Udemy : Python 디버깅 Udemy : Python 디버깅 머리 속으로 문제 그려보기 def my_function(): for i in range(1, 20): if i == 20: print("You got it") my_function() 위에 코드는 작동은 하지만 "You got it"을 출력을 안 한다 왜냐하면 range(1, 20) 특성상 1이상 20미만의 수들을 구한다 즉 1부터 19까지만 구하는 것 따라서 "You got it"을 출력하기 위해서는 range(1, 21)로 바꿔야 한다 버그 재현하기 from random import randint dice_imgs = ["❶", "❷", "❸", "❹", "❺", "❻"] dice_num = randint(1, 6) print(dice_imgs[dice_num]) #.. 2023. 1. 13.
Python 유효 범위 (로컬 범위, 글로벌 범위) Udemy : Python 유효 범위 (로컬 범위, 글로벌 범위) Scope enemies = 1 def increase_enemies(): enemies = 2 print(f"enemies inside function: {enemies}") increase_enemies() print(f"enemies inside function: {enemies}") # output 1 : enemies inside function: 2 # output 2 : enemies inside function: 1 output 1 함수에서 가지고 온 enemies output 2 함수 밖에 있는 enemies=1을 가지고 왔다 Local Scope (로컬 범위) 로컬 범위는, 함수 안에 있는 것이다 변수를 함수 안에 넣게 .. 2023. 1. 13.
Udemy : Python 블랙잭 프로젝트 Udemy : Python 블랙잭 프로젝트 카드를 뽑아서, 카드의 숫자들을 더해서 21 이하로 맞추는 것이다 21 이상이고, 상대방이 21 이하이면, 무조건 지는 것이다 상대방과 비교해서, 둘 다 21 이하일 때, 21과 제일 가까운 숫자가 이기는 것이다 J, Q, K = 10 A = 1 또는 11 2~10은 각자 주어진 번호 첫 카드는 공개이다 공개를 했는데, 17 이하이면, 무조건 추가 카드를 받아야 한다 import random from replit import clear from art import logo def deal_card(): """returns random card from the deck""" cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 1.. 2023. 1. 12.
Udemy : Python 출력과 함수 Udemy : Python 출력과 함수 Functions with Output def my_function() : result = 3 * 2 return result my_function() # result가 출력된다 output = my_function() # result가 output으로 저장된다 함수를 정의하고, 함수를 사용할 때에 출력하는 값이 나오도록 만들고 싶을 때에 return을 사용한다 실습 1 년도와 달을 입력 받는다 년도가 윤년인지 확인하고, 해당 연도의 달에 날 수를 출력한다 def is_leap(year): if year % 4 == 0: if year % 100 == 0: if year % 400 == 0: return True else: return False else: retu.. 2023. 1. 11.
Udemy : Python 딕셔너리 Udemy : Python 딕셔너리 딕셔너리 name = { "Alex" : 2; "Lisa" : 1; "Joon" : 1; } "Alex", "Lisa", "Joon" 은 key 2, 1, 1은 value들이다. 즉 key의 값들이다 딕셔너리는 key를 통해서 값을 가지고 올 수 있다 name["Alex"] 는 2로 출력된다 name = { "Alex" : 2, "Lisa" : 1, "Joon" : 1, } print(name["Alex"]) # 2 name["Yang"] = 5 print(name) # { # "Alex" : 2, # "Lisa" : 1, # "Joon" : 1, # "Yang" : 5, # } # Yang이 key로, 5가 Yang의 값으로 추가가 되었다 name["Joon"] = .. 2023. 1. 10.
Udemy : Python 매개변수와 Caesar Code Udemy : Python 매개변수와 Caesar Code 입력값을 받는 함수를 알게 될 것 Arguments 와 Parameters의 차이 입력 값이 있는 함수 # 그 전에 배웠던 함수 def greet(): print("Hello") print("Alex") greet() # 괄호에 아무것도 안 넣었다 def greet_with_name(name): print("Hello") print(name) greet_with_name('Alex') # greet_with_name() 안에 입력값을 넣어야 함수가 실행이 된다 # 그 입력값은 하나의 변수의 역할을 한다 # 괄호 안에 아무것도 없으면 argument가 없다고 에러 메세지가 뜬다 # TypeError: greet_with_name() missing .. 2023. 1. 9.
Udemy : Python 행맨 프로젝트 Udemy : Python 행맨 프로젝트 행맨은 알파벳을 입력하면서, 단어를 찾아내는 것이다. 알파벳을 고를 수 있는 차례는 주어져 있다 import random from hangman_art import logo, stages from hangman_words import word_list print(logo) word = random.choice(word_list) result = ["_"] * len(word) letter_choice = [] count = 6 flag = False while count != 0: letter = input("Guess a letter: ").lower() if letter.isalpha(): if letter in word: if letter not in let.. 2023. 1. 8.
Udemy : Python 함수와 카렐 Udemy : Python 함수와 카렐 Function function() - 앞에 function의 이름이 있고, 뒤에 괄호가 붙는다 왜 사용는건가? 지속적으로 똑같은 코드를 쓰기보단, 함수로 만들어서, 그 함수를 지속적으로 사용하면 된다 코드를 줄일 때, 유용하게 쓸 수 있다 function 만들기 def my_function() : print("My Function") print("Wow") my_function() # 함수 부르기 While Loop while something_is_true: #Do this #Then do this #Then do this while문은, 써 놓은 조건이 거짓일때까지, 지속적으로 코드를 실행하는 것이다 확실한 길이의 데이터가 주어지지 않을 때 while문을 사용.. 2023. 1. 7.