아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
후련한도롱이107
후련한도롱이10721.05.27

파이썬(프로그램 작성) 문제들 도움좀 받고싶습니다..

2.

프로그래밍 배운지 이제 3개월쯤 되가는것 같습니다. 이제 기본적인 걸음마 정도 뗸 상태이구요.. 근데 이번 문제들은 좀 어떤식으로 짜나가야하는지 모르겠어서 프로그램 작성 도움받고싶습니다.. 제가 대충 하긴했는데 실행이안되더라구요.. 고수분들 프로그램 최대한 쉽게 부탁드리겠습니다!!

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • [1번 소스 : q1.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 11:34:27 2021

    @author: raven90

    """

    #1. 1부터 50까지 3, 6, 9 게임의 결과를 출력하는 프로그램을 함수를 이용하여 작성하시오.

    # (3, 6, 9 숫자가 한번 들어갈 경우에는 ""을 출력하며, 3, 6, 9 숫자가 두번 들어갈 경우에는 "*" 을 출력한다.

    # 그리고 3, 6, 9 숫자가 들어가지 않을 경우에는 숫자를 표시한다.)

    # 3 6 9 게임

    # 1 = 1 2 = 2 3 = * 4 = 4 5 = 5

    # 6 = 7 = 7 8 = 8 9 = 10 = 10

    #11 = 11 12 = 12 13 = * 14 = 14 15 = 15

    #16 = 17 = 17 18 = 18 19 = 20 = 20

    #21 = 21 22 = 22 23 = * 24 = 24 25 = 25

    #26 = 27 = 27 28 = 28 29 = 30 = *

    #31 = 32 = 33 = * 34 = 35 = *

    #36 = * 37 = 38 = 39 = * 40 = 40

    #41 = 41 42 = 42 43 = * 44 = 44 45 = 45

    #46 = 47 = 47 48 = 48 49 = 50 = 50

    def game369(num1, num2):

    counter=0

    tmpStr=""

    for i in range(num1, num2+1):

    chk = False # 초기화

    counter +=1

    tmpStr2 ="" # 초기화

    if counter >1 :

    tmpStr += "\t"

    # 몫 구하기

    mok = i // 10

    if(mok == 3 or mok == 6 or mok ==9):

    chk = True

    if chk == True :

    tmpStr2 = "*"

    chk = False # 초기화

    # 나머지 구하기

    na = i % 10

    if(na == 3 or na == 6 or na ==9):

    chk = True

    if chk == True :

    tmpStr2 += "*"

    chk = False

    tmpStr += ('%2d' % i) + " = "

    if tmpStr2 != "":

    tmpStr += tmpStr2

    else :

    tmpStr += ('%2d' % i)

    if counter == 5 or i==num2 :

    print(tmpStr)

    tmpStr=""

    counter = 0

    if name == 'main':

    game369(1, 50)

    [1번 실행 후 캡쳐]

    [2번 소스 1 : factorial.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 13:23:48 2021

    @author: raven90

    """

    # 참고 : https://shoark7.github.io/programming/algorithm/several-ways-to-solve-factorial-in-python

    def factorial(n):

    ret = 1

    for i in range(1, n+1):

    ret *= i

    return ret

    [2번 소스 2: q2.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 11:34:27 2021

    @author: raven90

    """

    #2. 다음과 같이 n! = 1 2 # ... n-1 * n 을 계산하는

    # 프로그램을 만들기 위하여 factorial() 함수를 포함하는

    # factorial 모듈을 만드시오.

    # 이때 factorial 함수는 재귀호출을 사용하지 않는 함수로 구성하시오.

    # >>> import factorial

    # >>> print("10! =", factorial.factorial(10))

    # 10 ! = 3628800

    import factorial

    print("10! =", factorial.factorial(10))

    [2번 실행 후 캡쳐]

    [3번 소스: q3.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 11:34:27 2021

    @author: raven90

    """

    #3. 다음 프로그램은 로또 번호를 자동으로 생성하기 위하여

    # random모듈의 sample 함수를 사용한 예이다.

    # >>> import random

    # >>> lotto = random.sample(range(1,46),6)

    # >>> lotto.sort()

    # >>> print(lotto)

    # [18, 25, 30, 33, 37, 39]

    # sample() 함수를 사용하지 않고 randint() 함수를 사용해서

    # 로또 번호를 자동으로 만들어주는 프로그램을 작성하시오.

    # 참고 : https://appia.tistory.com/93

    import random

    def randomLottoCreate():

    lotto =[]

    while len(lotto) < 6 :

    V = random.randint(1,45)

    if V not in lotto:

    lotto.append(V)

    lotto.sort()

    #print(lotto)

    return lotto

    if name == 'main':

    lotto = randomLottoCreate()

    print(lotto)

    [3번 실행 후 캡쳐]

    [4번 소스: q4.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 11:34:27 2021

    @author: raven90

    """

    #4. 다음과 같이 콤마(,)로 구분된 정수를 입력받아 최대값과 최소값, 총합을 구한느

    # 프로그램을 작성하시오.

    def listMin(tmpList):

    return min(tmpList)

    def listMax(tmpList):

    return max(tmpList)

    def listSum(tmpList):

    return sum(tmpList)

    #s = "국어,수학,정보,영어,체육"

    #new_lst = s.split(",")

    if name == 'main':

    inStrs = input("콤바(,)로 구분된 숫자들을 입력하세요: ")

    numList = [int(x) for x in inStrs.split(',')]

    print("최댓값 = " + str(listMax(numList)) )

    print("최솟값 = " + str(listMin(numList)) )

    print("총합 = " + str(listSum(numList)) )

    [4번 실행 후 캡쳐]

    [5번 소스 : q5.py]

    # -- coding: utf-8 --

    """

    Created on Fri May 28 11:34:27 2021

    @author: raven90

    """

    #5. 다음과 같이 알파벳 대분자의 유니코드 값을 출력하는 프로그램을 작성하시오.

    #chr(65) -> "A"

    #ord("A") -> 65

    def AlphaToAscii(tmpAlpha):

    return tmpAlpha + " : " + str(ord(tmpAlpha))

    if name == 'main':

    numMin=65

    numMax=90

    count=0

    tmpStr=""

    for i in range(numMin, numMax + 1):

    count += 1

    if count >1 :

    tmpStr += " " # 여백 두기

    tmpStr += AlphaToAscii(chr(i))

    if count == 5 or i==numMax :

    print(tmpStr)

    tmpStr="" #초기화

    count=0 #초기화

    [5번 실행 후 캡쳐]