본문 바로가기

스파르타코딩개발일지

TIL7일차.

오늘 오전에 배운내용들이다

 for문은 언젠가는 끝나지만 while은  break 를 설정해주지않는한 컴퓨터가 터지기직전까지 작동한다고한다

이 외에 자주쓰는 모듈로 로또번호 만드는방법 

import random
from pprint import pprint
lotto = set() # lotto 변수를 set 자료형으로 선언

def get_lotto_number(count):
    result = []
    if count < 1:
        print("1 이상의 값을 입력해주세요")
   
    for _ in range(count): # count만큼 반복해서 실행
        lotto = set()

        while len(lotto) < 8: # lotto의 요소 갯수가 8 이하일 경우 계속해서 반복
            lotto.add(random.randint(1, 45)) # lotto에 1~45 사이의 랜덤 값을 입력
           
        result.append(lotto)
       
    return result

lotto_numbers = get_lotto_number(10)
pprint(lotto_numbers)

pprint 는 pretty print 의약자이며 보다 출력문이 깔끔하게 나온다.

 

 

오늘배운내용으로 야구게임 만들기.

from random import randint
def BaseBall():
    Base = []
    i = 0
    new_Base =0
    while i <3 :
        new_Base=randint(0,9)
        if new_Base not in Base:
            Base.append(new_Base)
            i +=1
    print("0과 9 사이의 서로 다른 숫자 3개를 랜덤한 순서로 뽑았습니다.\n")
    return Base

def inputs():
    print("숫자 3개를 입력하세요")
    i=0
    new_inputs=[]
    while i<3:
        inputs_number = int(input("{}번쨰 숫자를 입력하세요 ".format(i+1)))
        if inputs_number > 9:
            print("다시입력")
            continue
        if inputs_number in new_inputs:
            print("중복되는 숫자입니다")
        else:
            new_inputs.append(inputs_number)
            i +=1
    return new_inputs

def get_score(input,answer):
    strike_count=0
    ball_count=0
    i=0

    while i < len(input):
        if input[i] == answer[i]:
            strike_count += 1
            i += 1
        elif input[i] in answer:
            ball_count += 1
            i +=1
        else:
            i+=1
    return strike_count,ball_count

tAnswer =BaseBall()
ttry=0

while 1:
    tinput = inputs()
    strike,ball = get_score(tinput,tAnswer)
    print("{}s {}b".format(strike,ball))

    if strike == 3:
        ttry +=1
        break
    else:
        ttry +=1
print("축하합니다. {}번 만에 숫자 3개의 값과 위치를 모두 맞추셨습니다.".format(ttry))

 

직접 코드짜고 모르는거 검색하다가 점수계산하고 리스트간의 비교하는거부터 포기하고 다른사람이 작성한 코드를 봐가며 비교했다.오늘 일과중 절반이상을 여기다가 쏟아 넣었는데. 너무어렵다.

'스파르타코딩개발일지' 카테고리의 다른 글

TIL9일차  (0) 2022.09.13
TIL8일차  (0) 2022.09.08
TL7일차  (0) 2022.09.06
TL6일차  (2) 2022.09.05
TL 5일차  (0) 2022.09.02