아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
화산 아이콘 11
비트코인 가격 상승
아하

생활

생활꿀팁

후련한도롱이107
후련한도롱이107

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

2.

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

1개의 답변이 있어요!
  • 꾸준한하마55
    꾸준한하마55

    [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번 실행 후 캡쳐]