鱼C论坛

 找回密码
 立即注册
查看: 1747|回复: 2

[已解决]问题求助

[复制链接]
发表于 2020-11-19 20:23:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#十以内加减乘数运算自测小程序


编写自测小程序,程序随机生成10道加减乘除运算(运算种类随机,参与运算操作数为随机[1-10]之间的正整数),程序给出一道随机生成的题目,程序使用者来给出答案,当使用者10道题都打完之后,统一将十道题及使用者给出答案进行打印,并在每道题后面给出使用者当前题目的对错情况,如果打错还需另给出正确答案,在最后给出使用者本次测试的总得分(每题10分,总分100分)。

说明:

1、示例中蓝色部分为用户输入部分,黑色部分为程序输出部分,只是为了帮助大家区分哪部分是需要使用者输入的,程序运行时无序进行颜色设置。

2、除法结果小数点后保留两位有效数字。

3、本程序题目生成可通过随机数来完成。


import random
a=random.randint(0,10)
b=random.randint(0,10)
sign = 0
for f in random.randint(1,4):
    if f == 1:
        sign = '/'
    if f == 2:
        sign = '*'
    if f == 3:
        sign = '+'
    if f == 4:
        sign = '-'

    for i in range(1,11):
        print("%d%s%d="&(a,sign,b))
        c=input(int())
        a
        if ((a %s b)%sign) == c:
            print("%d%s%d=%d √"&(a,sign,b,c))
        else:
            print("%d%S%d=%d × 正确答案为 %d"&(a,sign,b,c,a))



大佬     我只能写出这样的 我该怎么做?
最佳答案
2020-11-19 20:54:24
import random
temp = [' + ',' - ',' × ',' ÷ ']   # 定义符号
exam_list,result_list = [],[]
for i in range(10):          
    a = random.randint(1,11)   # 定义随机数,注意是1-10直接整数
    b = random.randint(1,11)
    sign = random.choice(temp)  # 定义随机符号
    exam_list.append(str(a)+sign+str(b))  # 出题
    if sign == temp[0]:             # 保留结果
        result_list.append(str(a+b))
    elif sign == temp[1]:
        result_list.append(str(a-b))
    elif sign == temp[2]:
        result_list.append(str(a*b))
    else:
        result_list.append('%.2f' % (a/b))
answer_list = []
for each in exam_list:
    answer_list.append(input(each+'请输入答案(保留小数点后2位):'))
for i in range(10):
    print(exam_list[i]+'='+answer_list[i]+'  ',end='')
    if result_list[i] == answer_list[i]:
        print('回答正确!')
    else:
        print('回答错误,正确答案为:'+result_list[i])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-19 20:54:24 | 显示全部楼层    本楼为最佳答案   
import random
temp = [' + ',' - ',' × ',' ÷ ']   # 定义符号
exam_list,result_list = [],[]
for i in range(10):          
    a = random.randint(1,11)   # 定义随机数,注意是1-10直接整数
    b = random.randint(1,11)
    sign = random.choice(temp)  # 定义随机符号
    exam_list.append(str(a)+sign+str(b))  # 出题
    if sign == temp[0]:             # 保留结果
        result_list.append(str(a+b))
    elif sign == temp[1]:
        result_list.append(str(a-b))
    elif sign == temp[2]:
        result_list.append(str(a*b))
    else:
        result_list.append('%.2f' % (a/b))
answer_list = []
for each in exam_list:
    answer_list.append(input(each+'请输入答案(保留小数点后2位):'))
for i in range(10):
    print(exam_list[i]+'='+answer_list[i]+'  ',end='')
    if result_list[i] == answer_list[i]:
        print('回答正确!')
    else:
        print('回答错误,正确答案为:'+result_list[i])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-11-21 19:08:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 14:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表