湖北师范大学—Python程序设计1.1四则运算

第1关:整数四则运算

测试说明
平台会对你编写的代码进行测试:

测试输入:
1
2

预期输出:
1 + 2 = 3
1 - 2 = -1
1 * 2 = 2
1 / 2 = 0.5

"""
试编程实现分两行输入两个非零整数,并在4 行中按顺序输出两个数的加、减、乘、除的计算结果。
要求输出与如下示例格式相同,符号前后各有一个空格。
"""

#输入整数变量a和b,定义输入函数
##############Begin##################
a = int(input());
b = int(input());
##############End####################
#a和b之间进行四则运算并输出
##############Begin##################
print(f'{a} + {b} = {a + b}')
print(f'{a} - {b} = {a-b}')
print(f'{a} * {b} = {a*b}')
print(f'{a} / {b} = {a/b}')

##############End####################

第2关:浮点类型四则运算

测试说明
平台会对你编写的代码进行测试:

测试输入:

2.66
3.1415926

预期输出:
2.66 + 3.1415926 = 5.802
2.66 - 3.1415926 = -0.482
2.66 * 3.1415926 = 8.357
2.66 / 3.1415926 = 0.847

'''
试编程实现分两行输入两个非零浮点数,并在4 行中按顺序输出两个数的加、减、乘、除的计算式和计算结果。计算结果str.format()方法保留小数点后3位数字。要求输出与如下示例格式相同,符号前后各有一个空格。
'''

#输入浮点型变量a和b,定义输入函数
#############Begin##############
a = float(input())
b = float(input())
#############End################
#a和b之间进行四则运算并输出
#############Begin################
print(f'{a} + {b} = {a + b:.3f}')
print(f'{a} - {b} = {a - b:.3f}')
print(f'{a} * {b} = {a * b:.3f}')
print(f'{a} / {b} = {a / b:.3f}')
#############End################

第3关:用户输入数值和符号

测试说明
平台会对你编写的代码进行测试:

测试输入:
请输入一个整数:10
请再输入一个整数:6
请输入运算符号*

预期输出:
10*6=60

# 以下三行代码不要修改
a = int(input('请输入一个整数:'))    
b = int(input('请再输入一个整数:')) 
sign = input('请输入运算符号')
# 补充你的代码
# eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
# 字符串里包含引号时,内部引号与边界应用不同的引号
c=int(eval('{}{}{}'.format(a,sign,b)))
print('{}{}{}'.format(('{}{}{}'.format(a,sign,b)),'=',c))

第4关:随机出题的四则运算

测试说明
平台会对你编写的代码进行测试:

测试输入:

1
4
7

预期输出:

请输入出题数量:请输入参与计算的最大数字:4+3=恭喜你,回答正确
答对1题,正确率为100.0%

import random
random.seed(0)  # 随机数种子,用于评测,请不要修改


# 在注释语句后面补充合适的代码,使程序能完成预期的功能
def calculator(n, maximum):
    """随机产生n道正整数四则运算的题目,用户输入计算结果,
    判断输入正确与否,并统计正确率。题目保证减法不出现负数."""
    correct = 0
    for i in range(n):  # 循环n次,每次产生一个新问题
        b = random.randint(0, maximum)  
        # 随机产生一个maximum以内整数
        a = random.randint(b, maximum)  
        # 随机产生一个b到maximum以内整数,避免减法出现负数
        sign = random.choice('+-*/')    
        # 随机获取一个运算符号
        # 先输出一个格式化的计算表达式并保持光标不换到下一行,类似5+10=

        print(f'{a}{sign}{b}=',end="")
        # 接受用户输入的一个浮点数,并转换为浮点类型
        result=float(input())
        # 如果计算结果正确,输出'恭喜你,回答正确'并统计答对的次数,注意满足条    件   时执行的语句要缩进
        if result==eval(f'{a}{sign}{b}'):

            print('恭喜你,回答正确')
            correct=correct+1
        else:
            print('回答错误,你要加油哦!')
        # 否则输出'回答错误,你要加油哦!'

            
    # 以下语句不要修改
    print(f'答对{correct}题,正确率为{correct / n * 100}%')


# 以下语句不要修改
if __name__ == '__main__':
    num = int(input('请输入出题数量:'))
    m = int(input('请输入参与计算的最大数字:'))
    calculator(num, m)  # 调用函数完成计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值