편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.05.16

    파이썬 야구게임


    import random
    
    cum=random.sample(range(1,10),4)
    
    print(cum)
    
    def check_list(listname,input_num):
    
        listname=[]
    
        while len(listname)<=input_num-1:
            z=0
            num=int(input("숫자를 입력하세요"))
            listname.append(num)
            for k in range(len(listname)-1):
                for j in range(k+1,len(listname)):
                    if listname[k]==listname[j]:
                        print("중복값이 존재합니다. 다시 입력하세요.")
                        listname=[]
    
        strike=0
        ball=0
    
        for n in range(len(cum)):
            for r in range (len(listname)):
                if cum[n]==listname[r]and n==r:
                    strike=strike+1
                elif cum[n]==listname[r]:
                    ball=ball+1
    
    
        print(strike,"-strike",ball,"-ball")
        if strike==4:
            print(z,"회만에 성공!")
        else:
            z=z+1
            check_list(listname,input_num)
    
    
    
    
    play=[]    
    
    check_list(play,4)
    

    야구 게임 코드를 짰는데 횟수를 어떻게 새야하나요. 재귀함수로 재설정 시키니까 계속 횟수 세는게 0으로 리셋되서 횟수가 저장이 안됩니다. 해결방법이 있나요 아니면 코드를 다시 짜야 하나요.

  • 프로필 정영훈님의 편집
    날짜2019.05.15

    파이썬 야구게임


    import random
    
    cum=random.sample(range(1,10),4)
    
    print(cum)
    
    def check_list(listname,input_num):
    
        listname=[]
    
        while len(listname)<=input_num-1:
            z=0
            num=int(input("숫자를 입력하세요"))
            listname.append(num)
            for k in range(len(listname)-1):
                for j in range(k+1,len(listname)):
                    if listname[k]==listname[j]:
                        print("중복값이 존재합니다. 다시 입력하세요.")
                        listname=[]
    
        strike=0
        ball=0
    
        for n in range(len(cum)):
            for r in range (len(listname)):
                if cum[n]==listname[r]and n==r:
                    strike=strike+1
                elif cum[n]==listname[r]:
                    ball=ball+1
    
    
        print(strike,"-strike",ball,"-ball")
        if strike==4:
            print(z,"회만에 성공!")
        else:
            z=z+1
            check_list(listname,input_num)
    
    
    
    
    play=[]    
    
    check_list(play,4)
    

    야구 게임 코드를 짰는데 횟수를 어떻게 새야하나요. 재귀함수로 재설정 시키니까 계속 횟수 세는게 0으로 리셋되서 횟수가 저장이 안됩니다. 해결방법이 있나요 아니면 코드를 다시 짜야 하나요.

  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.05.15

    파이썬 야구게임


    import random

    cum=random.sample(range(1,10),4)

    print(cum)

    def check_list(listname,input_num):

    listname=[]
    
    while len(listname)<=input_num-1:
        z=0
        num=int(input("숫자를 입력하세요"))
        listname.append(num)
        for k in range(len(listname)-1):
            for j in range(k+1,len(listname)):
                if listname[k]==listname[j]:
                    print("중복값이 존재합니다. 다시 입력하세요.")
                    listname=[]
    
    strike=0
    ball=0
    
    for n in range(len(cum)):
        for r in range (len(listname)):
            if cum[n]==listname[r]and n==r:
                strike=strike+1
            elif cum[n]==listname[r]:
                ball=ball+1
    
    
    print(strike,"-strike",ball,"-ball")
    if strike==4:
        print(z,"회만에 성공!")
    else:
        z=z+1
        check_list(listname,input_num)
    

    play=[]

    check_list(play,4)

    야구 게임 코드를 짰는데 횟수를 어떻게 새야하나요. 재귀함수로 재설정 시키니까 계속 횟수 세는게 0으로 리셋되서 횟수가 저장이 안됩니다. 해결방법이 있나요 아니면 코드를 다시 짜야 하나요.