第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) # 调用函数完成计算