Python练习(二)——分支语句及随机数模块的应用

本文介绍了一个帮助小学生进行数学练习的程序设计案例,包括10以内的加法练习和百以内的四则运算测试,旨在提高学生的计算能力和反应速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.设计一个程序,帮助小学生练习10以内的加法

             详情:

                       - 随机生成加法题目;

                       - 学生查看题目并输入答案;

                       - 判别学生答题是否正确;

                       - 退出时,统计学生答题总数,正确数量及正确率(保留两位小数)。

智障型:

#!/usr/local/python3/bin/python3
import random
j = 0

for i in range(1,6):
        x = random.randint(1,10)
        print("第%d题" %(i))
        if x == 1:
                s = int(input(" 6 + 4 = ?"))
                if s == 10:
                        j += 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 2:
                s = int(input(" 5 + 2 = ?"))
                if s == 7:
                        j+=1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 3:
                s = int(input(" 9 + 1 = ?"))
                if s == 10:
                        j=j+1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
         elif x == 4:
                s = int(input(" 5 + 4 = ?"))
                if s == 9:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 5:
                s = int(input(" 2 + 2 = ?"))
                if s == 4:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 6:
                s = int(input(" 5 + 9 = ?"))
                if s == 14:
                        j = j + 1
                else:
                        print("回答错误,请继续加油!")
        elif x == 7:
                s = int(input(" 5 + 2 = ?"))
                if s == 7:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 8:
                s = int(input(" 9 + 9 = ?"))
                if s == 18:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        elif x == 9:
                s = int(input(" 4 + 3 = ?"))
                if s == 7:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
        else:
                s = int(input(" 1 + 2 = ?"))
                if s == 3:
                        j = j + 1
                        print("回答正确")
                else:
                        print("回答错误,请继续加油!")
accuracy = float(j/5)*100
print("测试结束,答对了%d道题,正确率为%.2f" %(j,accuracy))

 

 

更新一种很简单的代码:

看了老师的代码,服了自己,哈哈哈哈

 

import random

rightCount = 0
print("小学生算术测试系统".center(50,"*"))
totalCount = int(input("请输入所需要的题目数量:"))
for count in range(totalCount):
    num_1 = random.randint(1,10)
    num_2 = random.randint(1,10)
    sum_ = num_1 + num_2

    print("第%d题: %d + %d = " %(count+1,num_1,num_2),end = ' ')
    userRes = int(input())
    if userRes == sum_ :
        rightCount += 1
        print("OK")
    else :
        print("wrong")
else:
    print("测试结果".center(50,'*'))
    print("答对数量: %d" %(rightCount))
    print("正确率: %.2f%%" %(rightCount/totalCount*100))

 

 

2. 小学生算术能力测试系统:

设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目;练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。

import random
num = int(input("Please input a count:"))
count = 0
true = 0
for i in range(num):
    num_1 = random.randint(1,100)
    num_2 = random.randint(1,100)
    operate_1 = random.choice(["+","-","*","/"])
    answer = float(input("%d %s %d = " %(num_1,operate_1,num_2)))
    if answer == eval("%d %s %d" %(num_1,operate_1,num_2)):
        print("True")
        count += 1
        true +=1
    else:
        print("Flase.\nRight answer is :%.2f" %(eval("%d %s %d" %(num_1,operate_1,num_2))))
else:
    print("Your accuracy is %.2f%%" %(true/num*100))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值