Coursera_An Introduction to Interactive Programming in Python_Mini-project # 3 Stopwatch

# "Stopwatch: The Game"
import simplegui

# define global variables
current_time = 0  #for example: 12 represents 1.2 seconds.
total_win = 0
total_try = 0
flag = True

# define helper function format that converts time
# in tenths of seconds into formatted string A:BC.D
def format(t):
    #format_D   tenths of seconds
    #format_BC  seconds
    #format_A   minutes
    format_D = str(t % 10)  # tenths of seconds
    format_string = str(t)
    temp1 = format_string[:(len(format_string)-1)]
    
    if len(temp1) == 0:
        format_BC = "00"
        format_A = "0"
    else:
        format_BC = int(temp1) % 60
        format_A = str(int(temp1) / 60)
        if len(str(format_BC)) == 1:
            format_BC = "0" + str(format_BC)
        else:
            format_BC = str(format_BC)
            
    return format_A + ":" + format_BC + "." + format_D
    
# define event handlers for buttons; "Start", "Stop", "Reset"
def Start_button_handler():
    timer.start()
    flag = False
    
def Stop_button_handler():
     timer.stop() 
     flag = True
     if flag:
        global total_try
        total_try += 1
        if current_time % 10 == 0:
            global total_win
            total_win +=1
     
        

def Reset_button_handler():
    timer.stop() 
    global current_time
    current_time = 0
    global total_try
    total_try = 0
    global total_win
    total_win = 0
    
    
# define event handler for timer with 0.1 sec interval
def timer_handler():
    global current_time
    current_time += 1

# define draw handler
def draw_handler(canvas):
    canvas.draw_text(format(current_time), (60, 80), 24, 'White')
    canvas.draw_text(str(total_win) + '/' + str(total_try), (110, 20), 20, 'Red')
# create frame
frame = simplegui.create_frame('Timer', 150, 150)
frame.set_draw_handler(draw_handler)
Start_button = frame.add_button('Start', Start_button_handler,50)
Stop_button = frame.add_button('Stop', Stop_button_handler, 50)
Reset_button = frame.add_button('Reset', Reset_button_handler, 50)
timer = simplegui.create_timer(100, timer_handler)


# register event handlers


    
    
# start frame
frame.start()


# Please remember to review the grading rubric

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值