본문 바로가기
솔루션모음/파워 유저를 위한 파이썬 express 실습문제

[파워 유저를 위한 파이썬express] 5장 프로그래밍 programming 솔루션 답지

by 이얏호이야호 2023. 1. 8.

1. 
def get_peri(radius = 5.0):
    p = 2.0*3.141692* radius
    return p

print(get_peri()) # 기본 인수 사용 
print(get_peri(4.0))


3.
def calc(a, b):
    return a+b, a-b, a*b, a/b

x = int(input("첫 번째 정수를 입력하시오: "))
y = int(input("첫 번째 정수를 입력하시오: "))
a,b,c,d = calc(x, y)
print(a, b, c, d, "가 반환되었습니다")


5.
def checkpassword(s):
    digit, lower, upper = 0, 0, 0
    for i in s:
        if i.isupper():
            upper = 1
        elif i.islower():
            lower = 1
        elif i.isdigit():
            digit = 1
    if upper and lower and digit: print("사용할 수 있습니다.")
    else: print("사용할 수 없습니다.")

checkpassword("abcA")

7. 함수 원형 오타!
def getIntRange(a, b, msg):
    x =-100
    while x < a or x > b:
        x = int(input(msg))
    return x

m = getIntRange(1, 12, "월을 입력하시오(1부터 12사이의 값): ")
d = getIntRange(1, 31, "일을 입력하시오(1부터 31사이의 값): ")
print(f"입력된 날짜는 {m}월 {d}일입니다.")


9. 
def getGCD(a, b):
    gcd = 1 
    i = 2   

    while i <= a and i <= b:
        if a % i == 0 and b % i == 0:
            gcd = i 
        i = i + 1

    return gcd 

x = int(input("첫 번째 정수: "))
y = int(input("두 번째 정수: "))

print(getGCD(x, y))

11.
def deci2bin(n):
    binary = ""

    while n != 0:
        value = n % 2
        if value == 0 :
            binary = "0" + binary 
        else:
            binary = "1" + binary
        n = n // 2
        
    return binary

x = int(input("10진수: "))
print(deci2bin(x))


13.
##
# 이 프로그램은 주사위 게임을 구현한다. 
#
import random

def dice_game() :
    human = random.randint(1,6)
    print("인간: 주사위값=", human )
    ai = random.randint(1,6)
    print("컴퓨터: 주사위값=", ai )

    if human > ai :
        print("인간승리") 
    else:
        print("컴퓨터승리")  

def main() : 
    while True:
        dice_game()    
        user = input("중단할까요? Y/N")
        if user == "Y" or user == "y":
            break;

main()


15.
import turtle  
t = turtle.Turtle() 
t.shape("turtle")
  
def draw_square(size): 
    for i in range(4): 
        t.fd(size) 
        t.left(90) 
        size = size + 5
  
for i in range(10): 
    draw_square(i*20) 

turtle.mainloop()
turtle.bye()

 

 

댓글