|
|
发表于 2020-3-14 21:49:56
|
显示全部楼层
你好,根据你的题目要求 重写了你的函数 我觉得 你的循环 还是没有理解 面向流程编程是编程的第一步
你还得咱看看,你的基础稍微差点 循环的顺序 再看看吧 Y还是N那个 你死循环 是因为 一直是 'Y'你没有再循环内
给那个loop什么的赋值 所以一直循环 我这个 程序 完全满足要求 望采纳
- #10以内减法小测试
- # 1、随机生成1-9的整数,将两个整数相减,且结果不能为负数 2、提示用户输入正确答案 3、验证并告知用户回答结果,如果错误,则告诉用户正确答案
- # 4、记录正确和错误答案次数 5、测试5次,结束后告知用户得分情况
- import random
- import time
- def test():
- a = 1
- b = 9
- coorect_answer_count = 0
- answer_count = 0#一般从0开始
- start_time = time.time()
- while answer_count < amount_count:#不等号更常用
- number1 = random.randint(a, b)
- number2 = random.randint(a, b)
- #数字转换,确保前面的数字大于后面数字,避免出现结果为负数
- if number1 < number2 :
- number1,number2 = number2,number1
- #开始提问
- answer = eval(input(str(number1)+"-"+str(number2)+"= ? "))
- if answer == number1 - number2 :
- print ("回答>>>正确<<<,答案为:",number1 - number2)
- #正确回答次数+1
- coorect_answer_count += 1
- elif answer != number1 - number2 :
- print("回答>>>错误<<<,",number1,"-",number2,"应该等于",number1-number2)
- #回答次数+1
- answer_count += 1
- #跳出循环后,记录结束时间
- end_time = time.time()
- #计算测试时间
- test_time = int(end_time - start_time)
- #告诉用户测试结果
- print (amount_count,"道题目已完成!")
- print ("回答正确",coorect_answer_count,"次;错误",amount_count-coorect_answer_count,"次。\n总共用时",test_time,"秒!")
- amount_count = 5
- print ("让我们来进行一项10以内的减法小测试,\n共计",amount_count,"道题目!")
- test()
- while True:
- if input ("小朋友,你是否愿意继续挑战?如果愿意,请输入“Y”,如果不愿意,直接退出即可!") == 'Y':
- test()
- else:
- print('退出测试')
- break
复制代码
|
|