파이썬_for Beginner_(1)

728x90

연습문제 2장 8번

import turtle
import random

def ScreenLeftClick(x,y):
    global r,g,b
    tSize = random.randrange(1, 10)
    turtle.shapesize(tSize)
    tAngle = random.randrange(0,360)
    turtle.left(tAngle)
    turtle.color((r,g,b))
    turtle.penup()
    turtle.goto(x,y)
    turtle.stamp()

    r = random.random()
    g = random.random()
    b = random.random()

pSize = 10
r, g, b = 0.0, 0.0, 0.0

turtle.title('거북이 도장 찍기')
turtle.shape('turtle')

turtle.onscreenclick(ScreenLeftClick, 1)

turtle.done()

SelfStudy3-1.py

print("*********")
print(" ******* ")
print("  *****  ")
print("   ***   ")
print("    *    ")
print("   ***   ")
print("  *****  ")
print(" ******* ")
print("*********")

SelfStudy3-2.py

sel = int(input("입력 진수 결정(16/10/8/2) : "))
if sel != 16 and sel != 10 and sel != 8 and sel !=2 :
    print("16, 10, 8, 2 숫자 중 하나만 입력하세요.")
    exit();
num=input("값 입력 : ")

if sel == 16 :
    num10 = int(num, 16)
if sel == 10 :
    num10 = int(num, 10)
if sel == 8 :
    num10 = int(num, 8)
if sel == 2 :
    num10 = int(num, 2)
    
print("16진수 ==> ", hex(num10))
print("10진수 ==> ", num10)
print(" 8진수 ==> ", oct(num10))
print(" 2진수 ==> ", bin(num10))

연습문제 3장 10번 

var = (input("16진수 한글자 입력 :"))

if ('0' <= var <= '9') or ('A' <= var <= 'F') or ('a' <= var <= 'f') :
    print("10진수 ==> ",int(var,16))
else :
    print("16진수가 아닙니다.")

SelfStudy4-1.py

## 전역 변수 선언 부분 ## 
money, c50, c10, c5, c1 = 0,0,0,0,0

## 메인 코드 부분 ## 
money=int(input("지폐로 교환할 돈은 얼마? "))

c50 = money // 50000
money %= 50000

c10 = money // 10000
money %= 10000

c5 = money // 5000
money %= 5000

c1 = money // 1000
money %= 1000

print("\n 50000원짜리 ==> %d장 " % c50)
print(" 10000원짜리   ==> %d장 " % c10)
print(" 5000원짜리 ==> %d장 " % c5)
print(" 1000원짜리   ==> %d장 "% c1)
print(" 지폐로 바꾸지 못한 돈 ==> %d원"% money)

SelfStudy4-2.py

inValue=0
count=0
result=0
i=0

inValue=int(input("시프트할 숫자는? "))
count=int(input("출력할 횟수는? "))

for i in range(1, count+1) :
    result = inValue << i
    print("%d << %d = %d" % (inValue, i , result))

for i in range(1, count + 1) :
    result = inValue >> i
    print("%d >> %d = %d" % (inValue, i , result))

연습문제 4장 10번 

import turtle

num1, num2, result = 0, 0, 0
swidth, sheight = 1000, 300
curX, curY = 0, 0

def binary(Bin,num):
    curX = swidth / 2
    for i in range(len(Bin) - 2):
        turtle.goto(curX, curY)
        if num & 1 :
            turtle.color('red')
            turtle.turtlesize(2)
        else :
            turtle.color('blue')
            turtle.turtlesize(1)
        turtle.stamp()
        curX -= 50
        num >>= 1
        
if __name__ == "__main__" :
    turtle.title('거북이로 두 숫자 비트 논리곱(&) 연산하기')
    turtle.shape('turtle')
    turtle.setup(width = swidth + 50, height = sheight + 50)
    turtle.screensize(swidth, sheight)
    turtle.penup()
    turtle.left(90)

    num1 = int(input("숫자1을 입력하세요 : "))
    num2 = int(input("숫자2을 입력하세요 : "))
    binary1 = bin(num1)
    binary2 = bin(num2)
    result = num1 & num2

    curY = 50
    binary(bin(num1),num1)
    curY = 0
    binary(bin(num2),num2)
    curY = -50
    binary(bin(result),result)
    
turtle.done()

SelfStudy5-1.py

score=int(input("점수를 입력하세요 : "))

if score >= 95 :
     print("A+")
elif score >= 90 :
     print("A0")
elif score >= 85 :
     print("B+")     
elif score >= 80 :
     print("B0")
elif score >= 75 :
     print("C+")     
elif score >= 70 :
     print("C0")
elif score >= 65 :
     print("D+")     
elif score >= 60 :
     print("D0")
else :
     print("F")

print("학점입니다. ^^")

SelfStudy5-2.py

## 변수 선언 부분 ## 
answer, num1, num2, num3 = 0, 0, 0, 0

## 메인 코드 부분 ## 
num1 = int(input(" *** 첫 번째 숫자를 입력하세요 : "))
num2 = int(input(" *** 두 번째 숫자를 입력하세요 : "))
num3 = int(input(" *** 더할 숫자를 입력하세요 : "))
for i in range(num1, num2+1, num3) :
        answer = answer + i
print(" %d+%d+...+%d는 %d입니다. " % (num1, num1+num3, num2, answer))

연습문제 5장 8번

import turtle
import math
import random

t1, t2, t3 = [None] * 3
t1X, t1Y, t2X, t2Y, t3X, t3Y = [0] * 6
swidth, sheight, exitcount = 300, 300, 0

if __name__ == "__main__" :
    turtle.title('거북이들 스탬프 찍기')
    turtle.setup(width = swidth + 50, height = sheight + 50)
    turtle.screensize(swidth, sheight)
	
    t1 = turtle.Turtle('turtle'); t1.color('red'); t1.penup()
    t2 = turtle.Turtle('turtle'); t2.color('green'); t2.penup()
    t3 = turtle.Turtle('turtle'); t3.color('blue'); t3.penup()
	
    t1.goto(-100, -100); t2.goto(0, 0); t3.goto(100, 100)
    t1.speed(0); t2.speed(0); t3.speed(0)

    while True :
        angle = random.randrange(0, 360)
        dist = random.randrange(1, 50)
        t1.left(angle); t1.forward(dist)
        angle = random.randrange(0, 360)
        dist = random.randrange(1, 50)
        t2.left(angle); t2.forward(dist)
        angle = random.randrange(0, 360)
        dist = random.randrange(1, 50)
        t3.left(angle); t3.forward(dist)

        t1X = t1.xcor(); t1Y = t1.ycor()
        t2X = t2.xcor(); t2Y = t2.ycor()
        t3X = t3.xcor(); t3Y = t3.ycor()
        
        if (-swidth / 2 <= t1X and t1X <= swidth / 2) and (-sheight / 2 <= t1Y and t1Y <= sheight / 2) and \
            (-swidth / 2 <= t2X and t2X <= swidth / 2) and (-sheight / 2 <= t2Y and t2Y <= sheight / 2) and \
            (-swidth / 2 <= t3X and t3X <= swidth / 2) and (-sheight / 2 <= t3Y and t3Y <= sheight / 2) :
            pass
        
        else :
            t1.penup(); t1.goto(-100, -100)
            t2.penup(); t2.goto(0, 0)
            t3.penup(); t3.goto(100, 100)
        
        if math.sqrt(((t1X - t2X) * (t1X - t2X)) + ((t1Y - t2Y) * (t1Y - t2Y))) <= 20 or \
           math.sqrt(((t1X - t3X) * (t1X - t3X)) + ((t1Y - t3Y) * (t1Y - t3Y))) <= 20 or \
           math.sqrt(((t2X - t3X) * (t2X - t3X)) + ((t2Y - t3Y) * (t2Y - t3Y))) <= 20 :
            t1.stamp(); t2.stamp(); t3.stamp()
        
turtle.done()

연습문제 5장 9번 

num1 = int(input('시작 숫자를 입력하세요(2이상) :'))
num2 = int(input('끝 숫자를 입력하세요 :'))
hap = 0
for i in range(num1, num2+1):
    for k in range(2,i):
        if i%k == 0:
            break
        else :
            hap=hap+i

print('%d부터 %d까지의 소수 합은 %d입니다.' %(num1, num2, hap))

SelfStudy6-1.py

i, hap = 0, 0

for i in range(0, 101, 7) :
    hap = hap + i
    
print("0과 100 사이에 있는 7의 배수 합계 : %d" % hap)

SelfStudy6-2.py

i, dan = 0, 0

dan = int(input("단을 입력하세요 : "))

for i in range(9, 0, -1) :
     print("%d  X  %d  =  %2d" % (i, dan, dan * i))

SelfStudy6-3.py

i, k = 0, 0

for i in range(2, 10, 1) :
    print (" ## %d단 ## " % i)
    for k in range(1, 10, 1) :
        print(" %d X %d = %2d" % (i, k, i*k))
    print("")

SelfStudy6-4.py

## 변수 선언 부분  ##
i, k, guguLine = 0, 0, ""

## 메인 코드 부분  ##
for i in range(9, 1, -1) :
    guguLine = guguLine + (" # %d단 #" % i)

print(guguLine)

for i in range(9, 0, -1) :
    guguLine=""
    for k in range(9, 1, -1) :
        guguLine = guguLine + str("%2dX%2d=%2d" % (k, i, k*i))
    print(guguLine)

728x90