【青少年编程】黄羽恒:加减乘除法小测试

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。

编程题

“加减乘除法小测试”是来自「青少年编程竞赛交流群」中 「黄羽恒」 小朋友的作品。

加减乘除法是小朋友们进行口算训练的必备技能。

首先,选择要测试多少组,每组包含四个题目,加减乘除法各一个。

其次,按照加法、减法、乘法、除法的顺序进行出题,其中减法结果必须为正数。

再次,回答正确,显示“恭喜你答对了!好棒",回答错误,显示"很遗憾答错了!呜呜"并给出正确的结果。

最后,给出本次小测试的分数,按照满分100计算。

1. 思路分析

这个题目相对简单,主要注意的有三点。

第一:进行除法计算的时候,分母不能为零,这块需要进行判断。

第二:为了保证每次测试的加减乘除法都不重复,需要用到随机数。

第三:输出结果用到print语句,为了更好的交互体验需要配置print语句中end这个参数。

def print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):

print()函数,将objects以字符串表示的方式格式化输出到流文件对象file里。

  • objects以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
  • 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
  • 关键字参数end是输出结束时的字符,默认是换行符\n
  • 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
  • 关键字参数flush是立即把内容输出到流文件,不作缓存。

2. 程序代码

import random
import time

questions = int(input('你要测试几组(1组4题、1加、1减、1乘、1除,除不净保留2位小数)题:'))
score = 100
diff = score / questions / 4

for i in range(questions):

time.sleep(1)

# 加法
    addend1 = random.randint(0, 100)
    addend2 = random.randint(0, 100)
    sum_right = addend1 + addend2
    print(addend1, '+', addend2, '=', end=' ')
    sum_answer = int(input(''))

if sum_answer == sum_right:
        print('恭喜你答对了!  o(≧v≦)o~~好棒\n')
    else:
        print('很遗憾答错了!  (╥﹏╥)~~呜呜')
        print(addend1, '+', addend2, '=', sum_right, '\n')
        score -= diff

time.sleep(1)

# 减法
    while True:
        minuend = random.randint(0, 100)
        subtraction = random.randint(0, 100)
        sum_right = minuend - subtraction
        if sum_right >= 0:
            break

print(minuend, '-', subtraction, '=', end=' ')
    sum_answer = int(input(''))

if sum_answer == sum_right:
        print('恭喜你答对了!  o(≧v≦)o~~好棒\n')
    else:
        print('很遗憾答错了!  (╥﹏╥)~~呜呜')
        print(minuend, '-', subtraction, '=', sum_right, '\n')
        score -= diff

time.sleep(1)

# 乘法
    multiplier1 = random.randint(0, 20)
    multiplier2 = random.randint(0, 10)
    sum_right = multiplier1 * multiplier2
    print(multiplier1, '×', multiplier2, '=', end=' ')
    sum_answer = int(input(''))

if sum_answer == sum_right:
        print('恭喜你答对了!  o(≧v≦)o~~好棒\n')
    else:
        print('很遗憾答错了!  (╥﹏╥)~~呜呜')
        print(multiplier1, '×', multiplier2, '=', sum_right, '\n')
        score -= diff

time.sleep(1)

# 除法
    while True:
        by_divisor = random.randint(0, 20)
        divisor = random.randint(0, 10)
        if divisor != 0:
            break

sum_right = round(by_divisor / divisor, 2)
    print(by_divisor, '÷', divisor, '=', end=' ')
    sum_answer = float(input(''))

if sum_answer == sum_right:
        print('恭喜你答对了!  o(≧v≦)o~~好棒\n')
    else:
        print('很遗憾答错了!  (╥﹏╥)~~呜呜')
        print(by_divisor, '÷', divisor, '=', sum_right, '\n')
        print()
        score -= diff

time.sleep(1)

print('恭喜你得了', score, '分!')

3. 结果展示


(1)有关Python的群内答疑:

(2)关于Python练习的投稿:


(0)

相关推荐

  • python——字符串及练习

    一.字符串的定义 # 定义一个字符串a = 'hello'# 有特殊字符时,需要转译c = 'I\'m a student'# 或者特殊字符用双引号引起来d = "I'm a student ...

  • 测试你的红包代码

    如果你已经实现了我的方法,或者自己设计了一套新方法,那么问题来了: 如何验证你的代码是没有问题的? 最简单直接的方法就是,调用一下代码,给一组输入数据,把结果打印出来,肉眼看一看是不是正确.以我的代码 ...

  • 深入理解 Python 内部函数和闭包(进阶)

    大家好,我是安果! 本文以内部函数为主线,深入讲解内部函数和闭包的应用场景和原理,学会后你的 Python 水平会再上一个台阶,对工作面试或实战应用都会很有帮助 本文包括: 函数是一等公民 内部函数定 ...

  • 算法创作|模拟抽卡游戏抽卡问题解决方法

    引言震惊!全网最火某网游抽卡模拟流出.问题描述输入抽卡次数X,得出抽卡结果示例:输入:X输出:UR(SSR,SR,R)解决方案在如今大部分抽卡游戏中,抽卡都是一个结果未知的行为,所以运用random可 ...

  • 太香了!最强的 pandas 入门教程

    翻译:石头 来源:MachineLearningPlus 文末赠送5本书 <Python Web开发从入门到精通> pandas是基于NumPy的一种数据分析工具,在机器学习任务中,我们首 ...

  • 谁说不能用中文写代码?

    现代计算机和编程的起源和推动力量主要源自美国,再加上26个字母很便于表示(算上大小写,6位bit就够了),因此英语一直是编程领域的不二之选.但这就给部分非英语国家的编程学习者带来一些困扰.以至于有些人 ...

  • Python|猜数字游戏

    问题描述猜数字游戏,随机产生一个数字(0~9),然后从键盘输入一个数,如果和随机产生的数相等,打印猜对了,程序结束.如果比随机产生的数大,打印太大了,如果比随机产生的数小,打印太小了.解决方案1.问题 ...

  • 【青少年编程】黄羽恒:翻译小工具 -- 利用有道翻译

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:天气预报

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:Python

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:平行空间

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:漫天飞雪

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】【一级】小狗长大记

    Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复[Scratch],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载"可获取以往学习 ...

  • 【青少年编程】【二级】小瓢虫找妈妈

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】【一级】小狗散步

    Scratch竞赛交流群已成立(适合6至18周岁的青少年),公众号后台回复[Scratch],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载"可获取以往学习 ...

  • 【江西】黄锦恒《“交给我吧”读后感》指导老师:孙寅

    <交给我吧>读后感 文清外国语学校一年级 黄锦恒 今天,我读了一本绘本,名字是<交给我吧>.里面的主人公叫小绘,是一个在家里倍受宠爱的小公主.一天放学回家的路上,小绘听到两名男 ...