[TECHIT] 메뉴 자판기 만들기 - 조건문, 반복문, 연산자, random, time

Jaeyoung·2022년 10월 18일
0

🦁멋사 ai 7기 TIL

목록 보기
1/7

목표 설정

  • 파이썬 프로그램의 구조를 만드는 제어문 (조건문, 반복문) 이해하기
  • random, time 라이브러리 이용하여 메뉴 자판기 실습하기

조건문

if문은 조건을 판단하여 해당 조건에 맞는 상황을 수행하는데 쓰는 것으로, 기본 구조는 if와 else로 구성 됨

  • 들여쓰기 : 4개의 공백 or Tab
  • if 조건문 뒤에 콜론(:) 사용하기
  • elif 여러 번 사용할 수 있으며 조건문을 넣어야 한다.
  • else 한번 만 사용할 수 있으며 조건문을 넣지 않는다.
    조건문의 기본 구조
if (조건식):
	조건식에 해당 시, 실행시킬 문장
elif (조건식):
	조건식에 해당 시, 실행시킬 문장
else:
	위 조건식들에 해당되지 않는 경우, 실행시킬 문장

반복문

반복문은 반복해서 문장을 수행해야 할 경우에 사용 함

  • for문 : 반복할 횟수를 알 때 사용
  • while문 : 반복할 횟수를 모를 때 사용 ( 조건문이 참인 동안 순회 )
  • range(start, end, step), range(len()) : 반복 횟수 제한 가능
  • enumerate() : index와 요소를 함께 사용해야 되는 경우

    반복문의 기본 구조
# for 구문
for (조건식):
	반복시킬 문장
# while 구문
while (조건식):
	반복시킬 문장

알아두면 좋은 연산자

연산자설명
x or yx와 y 둘 중에 하나만 참이어도 참
x and yx와 y 모두 참이어야 참
not xx가 거짓이면 참

in과 not in설명
x in (리스트/튜플/문자열)자료형 안에 x가 있으면 참
x not in (리스트/튜플/문자열)자료형 안에 x가 없으면 참

📍 연산자를 사용한 조건문

코드 입력

# 컴퓨터와 하는 가위바위보 게임
from random import choice

auto = choice(['가위', '바위', '보'])
user = input("가위, 바위, 보 : ")

# 입력한 값이 '가위, 바위, 보'가 맞다면 게임 실행, 아니면 else 문 출력
if user in ['가위', '바위', '보']:
    if user == auto:
        print(f"user : {user}, computer : {auto} 으로 비겼습니다.")
    elif (user == '가위' and auto == '보') or (user == '바위' and auto == '가위') or (user == '보' and auto == '바위'):
        print(f"user : {user}, computer : {auto} 으로 이겼습니다.")
    else:
        print(f"user : {user}, computer : {auto} 으로 졌습니다.")
else:
    print("옳지않은 값을 입력하셨습니다.")

코드 출력

가위, 바위, 보 : 가위
user : 가위, computer : 가위 으로 비겼습니다.

📍 연산자를 사용한 반복문

코드 입력

# 익명 질문 게시판 
question_list = []

# 질문 받기
while True:
    question = input("질문을 입력해주세요 : ")
    if question == "q":
        break
    else:
        question_list.append({"질문" : question, "답변" : ""})
        
# 질문에 대한 답변 받기
for i in question_list:
    print(i["질문"])
    answer = input("답변을 입력해주세요 : ")
    i["답변"] = answer

print("="*80)
print(question_list)

코드 출력

질문을 입력해주세요 : 가장 좋아하는 음식
질문을 입력해주세요 : 가장 좋아하는 음료
질문을 입력해주세요 : q
가장 좋아하는 음식
답변을 입력해주세요 : 설렁탕
가장 좋아하는 음료
답변을 입력해주세요 : 아아
================================================================================
[{'질문': '가장 좋아하는 음식', '답변': '설렁탕'}, {'질문': '가장 좋아하는 음료', '답변': '아아'}]

👩🏻‍💻저녁 메뉴 자판기

코드 입력

import random, time

# 저녁 메뉴 리스트
dinner = ["된장찌개", "김치찌개", "짬뽕", "마라탕"]

# 저녁 메뉴 추가
while True:
    print(dinner)
    item = input("음식을 추가해주세요 : ")
    # 반복문 종료 시점
    if(item == "stop"):
	    break
    else:
        dinner.append(item)
print(dinner)
print("="*70)

# 중복된 메뉴 제거
set_dinner = set(dinner)

# 저녁 메뉴 삭제
while True:
	print(f"저녁 메뉴 리스트 : {set_dinner}")
	item = input("음식을 삭제해주세요 : ")
	if (item == "stop"):
		break
	else:
		set_dinner = set_dinner - set([item])

print(set_dinner, "중에서 선택합니다.")
print("="*70)

print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)
print(f"오늘 저녁 메뉴는 '{random.choice(list(set_dinner))}' 입니다.")

코드 출력

['된장찌개', '김치찌개', '짬뽕', '마라탕']
음식을 추가해주세요 : 차돌박이짬뽕
['된장찌개', '김치찌개', '짬뽕', '마라탕', '차돌박이짬뽕']
음식을 추가해주세요 : 짬뽕
['된장찌개', '김치찌개', '짬뽕', '마라탕', '차돌박이짬뽕', '짬뽕']
음식을 추가해주세요 : stop
['된장찌개', '김치찌개', '짬뽕', '마라탕', '차돌박이짬뽕', '짬뽕']
======================================================================
저녁 메뉴 리스트 : {'김치찌개', '마라탕', '차돌박이짬뽕', '짬뽕', '된장찌개'}
음식을 삭제해주세요 : 짬뽕
저녁 메뉴 리스트 : {'김치찌개', '마라탕', '차돌박이짬뽕', '된장찌개'}
음식을 삭제해주세요 : stop
{'김치찌개', '마라탕', '차돌박이짬뽕', '된장찌개'} 중에서 선택합니다.
======================================================================
5
4
3
2
1
오늘 저녁 메뉴는 '김치찌개' 입니다.
profile
데이터 분린이:)

0개의 댓글