Python 시계 표시 효과 구현
IDE:Python.IDE
1.시계 프로그램 을 작성 하고 시간 에 따라 동적 으로 업데이트 해 야 합 니 다.
2.코드 사고
필요:Turtle 대상 5 개,외관 판 그리 기+3 개 아 날로 그 시트 에 바늘+1 개 출력 텍스트
Step 1:Turtle 대상 을 만 들 고 초기 화
Step 2:정적 디스크 그리 기
Step 3:시계 에 따라 바늘 위치 와 시간 정 보 를 업데이트 합 니 다.
기본 라 이브 러 리:Turtle,datetime
3.코드 세그먼트
from turtle import *
from datetime import *
def Skip(step):
penup()
forward(step)
pendown()
def mkHand(name, length):
# Turtle , Turtle
reset()
Skip(-length*0.1)
begin_poly()
forward(length*1.1)
end_poly()
handForm = get_poly()
# Turtle register_shape(name,shape=None)
register_shape(name, handForm)
def Init():
global secHand, minHand, hurHand, printer
mode("logo")# Turtle
# Turtle
#
mkHand("secHand", 125)
mkHand("minHand", 130)
mkHand("hurHand", 90)
secHand = Turtle()
secHand.shape("secHand")
minHand = Turtle()
minHand.shape("minHand")
hurHand = Turtle()
hurHand.shape("hurHand")
for hand in secHand, minHand, hurHand:
hand.shapesize(1, 1, 3)
hand.speed(0)
# Turtle
printer = Turtle()
printer.hideturtle()
printer.penup()
def SetupClock(radius):
#
reset()
pensize(7)
for i in range(60):
Skip(radius)
if i % 5 == 0:
forward(20)
Skip(-radius-20)
else:
dot(5)
Skip(-radius)
right(6)
def Week(t):
week = [" ", " ", " ",
" ", " ", " ", " "]
return week[t.weekday()]
def Date(t):
y = t.year
m = t.month
d = t.day
return "%s %d %d" % (y, m, d)
def Tick():
#
#
t = datetime.today()
second = t.second + t.microsecond*0.000001
minute = t.minute + second/60.0
hour = t.hour + minute/60.0
secHand.setheading(6*second)
minHand.setheading(6*minute)
hurHand.setheading(30*hour)
# Tracer
tracer(False)
printer.forward(65)
printer.write(Week(t), align="center",
font=("Courier", 14, "bold"))
printer.back(130)
printer.write(Date(t), align="center",
font=("Courier", 14, "bold"))
printer.home()
tracer(True)
ontimer(Tick, 100)#100ms tick
def main():
tracer(False)
Init()
SetupClock(160)
tracer(True)
Tick()
mainloop()
if __name__ == "__main__":
main()
보충:Python 구현 시계
1.현재 시간 을 가 져 오고 Console 에 인쇄 합 니 다.
2.상위 코드
import time,sys,os
while(1):
t = time.strftime('%H:%M:%S',time.localtime(time.time()))
sys.stdout.write(t+'\b'*10)
sys.stdout.flush()
time.sleep(0.1)
os.system('cls')
3.해석STEP 1:time,sys,os 모듈 가 져 오기
제2 부:무한 순환 실현
세 번 째 단계:포맷 출력 을 실현 합 니 다.구체 적 인 사용 방법 은 다음 과 같 습 니 다.
제4 부:Console 로 다시 설정
STEP 5:리 셋
STEP 6:0.1 간격 으로 1 회 실행
STEP 7:스크린 샷
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.