qq_51243331 2022-06-27 09:23 采纳率: 100%
浏览 25
已结题

如何正常记录本次乘法测试花费的时间以及每次测试平均耗费时间

问题:如何正常记录本次乘法测试花费的时间和每次测试平均耗费时间。我运行了n遍,结果输出是
“测试进行本次乘法测试花费的时间为:0.0
进行每次测试花费的平均时间为:0.0”即使我做的很慢,好像计算的是系统的运算时间

import random
import time

count = 1

a = random.randint(1, 9)

b = random.randint(1, 9)

#coding=utf-8
def surecallback():

    global a, b, count
    Time_solve=0
    for count in range(1,11):
        print('第' + str(count) + '道题')
        
        a = random.randint(1, 9)

        b = random.randint(1, 9)
        
        product = a * b
        print('%s*%s='%(a,b) )
        result=int(input("请输入两个数成绩后得到的结果:"))
        
        starttime = time.time()
        if result == product:
            print('答对了')
        else:
            print('答错了')
        endtime = time.time()
        time_solve=endtime-starttime
        Time_solve=time_solve+Time_solve
        count = count + 1
    else:
        
       print('进行本次乘法测试花费的时间为:%s'%time_solve)
       print('进行每次测试花费的平均时间为:%s'%time_solve)
       print('测试已结束!')



while True:
    print('1)进入乘法测试')
    print('2)退出程序')
    n = input('请从以上菜单中选择一个选项:').strip()
    if n=='1':
        surecallback()
    elif n=='2':
        print('谢谢你使用乘法测试小程序')
        break
    else:
        print('菜单选择错误,请重试')
    print('-----------------------------')
  • 写回答

1条回答 默认 最新

  • a5156520 2022-06-27 10:53
    关注

    应该是记录的开示时间和结束时间仅放在if和else那里,而没有放在获取回答输入前后有关,我在下面用两次乘法运算做的测试,修改如下:

    import random
    import time
     
    count = 1
     
    a = random.randint(1, 9)
     
    b = random.randint(1, 9)
     
    #coding=utf-8
    def surecallback():
     
        global a, b, count
        Time_solve=0
        
        for count in range(1,3):
            print('第' + str(count) + '道题')
            
            a = random.randint(1, 9)
     
            b = random.randint(1, 9)
            
            product = a * b
            print('%s*%s='%(a,b) )
            
            starttime = time.time() #在获取回答输入前记录开始时间
            #print("startime=",str(starttime))
            result=int(input("请输入两个数成绩后得到的结果:"))
            
            endtime = time.time() #在获取回答输入后记录结束时间
            #print("endtime=",str(endtime))
            time_solve=endtime-starttime #计算此次回答时间
            #print("time_solve=",str(time_solve))
            
            Time_solve=time_solve+Time_solve  #把此次回答时间纳入总时间
            #print("Time_solve=",str(Time_solve))
            
            if result == product:
                print('答对了')
            else:
                print('答错了')
            count = count + 1
            
        
        
            
        print('进行本次乘法测试花费的时间为:%s'%Time_solve) 
        print('进行每次测试花费的平均时间为:%s'%(Time_solve/2)) #总时间除以回答次数即每次回答时间
        print('测试已结束!')
     
     
     
    while True:
        print('1)进入乘法测试')
        print('2)退出程序')
        n = input('请从以上菜单中选择一个选项:').strip()
        if n=='1':
            surecallback()
        elif n=='2':
            print('谢谢你使用乘法测试小程序')
            break
        else:
            print('菜单选择错误,请重试')
        print('-----------------------------')
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月1日
  • 已采纳回答 7月1日
  • 创建了问题 6月27日

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题