[파이썬 중급] DAY13

김유미·2023년 6월 17일

Python

목록 보기
7/16

중급 문제풀이
모듈-Lotto

import random

userNums = []
randNums = []
bingoNum = []
bonusNum = 0

def setUserNums(n):
    global userNums
    userNums = n

def getUserNums():
    return userNums

def setRandNums():
    global randNums
    randNums = random.sample(range(1, 46),6)

def getRandNums():
    return randNums

def getBonusNum():
    global bonusNum

    while True:
        bonusNum = random.randint(1,46)
        if bonusNum not in randNums:
            break
    return bonusNum

def lottoResult():
    global userNums
    global randNums
    global bingoNum

    bingoNum = []
    for i in userNums:
        if i in randNums:
            bingoNum.append(i)
    if len(bingoNum) == 6:
        print('로또 1등 당첨')
        print(f'번호: {bingoNum}')

    elif (len(bingoNum) == 5) and (bonusNum in userNums):
        print('로또 2등 당첨')
        print(f'번호: {bingoNum}, 보너스 번호:{bonusNum}')

    elif len(bingoNum) == 5:
        print('로또 3등 당첨')
        print(f'번호: {bingoNum}')

    elif len(bingoNum) == 4:
        print('로또 4등 당첨')
        print(f'번호: {bingoNum}')

    elif len(bingoNum) == 3:
        print('로또 3등 당첨')
        print(f'번호: {bingoNum}')

    else:
        print('꽝')
        print(f'기계 번호:{randNums}')
        print(f'보너스 번호:{bonusNum}')
        print(f'선택 번호:{userNums}')
        print(f'일치 번호:{bingoNum}')

def startLotto():
    n1 = int(input('번호(1~45)입력: '))
    n2 = int(input('번호(1~45)입력: '))
    n3 = int(input('번호(1~45)입력: '))
    n4 = int(input('번호(1~45)입력: '))
    n5 = int(input('번호(1~45)입력: '))
    n6 = int(input('번호(1~45)입력: '))
    selectNums = [n1,n2,n3,n4,n5,n6]

    setUserNums(selectNums)
    setRandNums()
    getBonusNum()

    lottoResult()

모듈-시험 과락

def exampleResult(s1, s2, s3, s4, s5):

passAvgScore = 60; limitScore = 40

def getTotal():
    totalScore = s1 + s2 + s3 + s4 + s5
    print(f'총점: {totalScore}')
    return totalScore

def getAverage():
    avgScore = getTotal() / 5
    print(f'평균: {avgScore}')
    return avgScore

def printPassOrFail():
    print(f'{s1}: Pass') if s1 >= limitScore else print(f'{s1}: Fail')
    print(f'{s2}: Pass') if s2 >= limitScore else print(f'{s2}: Fail')
    print(f'{s3}: Pass') if s3 >= limitScore else print(f'{s3}: Fail')
    print(f'{s4}: Pass') if s1 >= limitScore else print(f'{s4}: Fail')
    print(f'{s5}: Pass') if s1 >= limitScore else print(f'{s5}: Fail')

def printFinalPassOrFail():
    if getAverage() >= passAvgScore:
        if s1 >= limitScore and s2 >= limitScore and s3 >= limitScore and s4 >= limitScore and s5>= limitScore:
            print('Final Pass!')
        else:
            print('Final Fail!')
    else :
        print('Final Fail!')

getAverage()
printPassOrFail()
printFinalPassOrFail()
profile
시작의 즐거움

0개의 댓글