目录
第1关:整数四则运算
实验目的
编写一个能计算整数四则运算及格式化输出的小程序。
相关知识
1.数值运算
Python
可以方便的实现计算器的功能。数学意义上的加、减、乘、除在 Python
中分别以符号“+
、-
、*
、/
”表示。
计算两个非零整数的和差积商:
整数1 +
整数2 = 和 整数1 -
整数2 = 差 整数1 *
整数2 = 积 整数1 /
整数2 = 商
整数四则运算示例:
在 4
行中按顺序输出两个数的加、减、乘、除的计算结果:
代码示例:
a = 5
b = 10
# 输出计算结果
print(a + b)
print(a - b)
print(a * b)
print(a / b)
2.输出格式控制
输出a + b = c 代码示例 2
:
a = 5
b = 10
c = a + b # c = 15
# 注意观察下面不同输出方法的结果的区别
# 输出用逗号分隔的多个对象,输出的多个对象间用空格分开
print('a+b=', c) # a+b= 15,等号前有一个空格
# 字符串'a + b ='中的空格原样输出
print('a + b =', c) # a + b = 15,输出两个对象,默认空格分隔
# 用sep可以指定分隔符,消除空格
print('a + b = ', c, sep='') # a + b = 15,用空字符串分隔,消除空格
# 用sep可以指定分隔符,消除空格
print(a, '+', b, '=', c) # a + b = 15,用空字符串分隔,消除空格
# 建议用str.format()方法输出控制格式(推荐)
print('{} + {} = {}'.format(a, b, c)) # 5 + 10 = 15
# 或用f-string方法输出控制格式(强烈推荐)
print(f'{a} + {b} = {c}') # 5 + 10 = 15
# 或用f-string方法输出控制格式(强烈推荐)
print(f'{a} + {b} = {a + b}') # 5 + 10 = 15
# 观察下面语句与前一条的区别
print(f'{a} - {b} = {a - b}') # 5 - 10 = -5
实验要求
根据提示,在右侧编辑器补充代码,完成在两行中输入两个非零整数的四则运算。
测试说明
平台会对你编写的代码进行测试:
测试输入: 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}')
第2关:浮点类型四则运算
任务描述
分两行输入两个非零浮点数,并在 4 行中按顺序输出两个数的加、减、乘、除的计算式和计算结果。计算结果用str.format()方法保留小数点后 3位数字。输出格式如下,每个符号前后各保留一个空格。用户输入矩形的长和宽,计算其面积并输出。
浮点数1 `+` 浮点数2 = 和
浮点数1 `-` 浮点数2 = 差
浮点数1 `*` 浮点数2 = 积
浮点数1 `/` 浮点数2 = 商
代码
'''
试编程实现分两行输入两个非零浮点数,并在4 行中按顺序输出两个数的加、减、乘、除的计算式和计算结果。计算结果str.format()方法保留小数点后3位数字。要求输出与如下示例格式相同,符号前后各有一个空格。
'''
#输入浮点型变量a和b,定义输入函数
#############Begin##############
# 输入第一个浮点数
num1 = float(input())
num2 = float(input())
#############End################
#a和b之间进行四则运算并输出
#############Begin################
addition = num1 + num2
print('{} + {} = {:.3f}'.format(num1, num2, addition))
subtraction = num1 - num2
print('{} - {} = {:.3f}'.format(num1, num2, subtraction))
multiplication = num1 * num2
print('{} * {} = {:.3f}'.format(num1, num2, multiplication))
division = num1 / num2
print('{} / {} = {:.3f}'.format(num1, num2, division))
#############End################
第3关:用户输入数值和符号
任务描述
根据提示,在右侧编辑器补充代码,完善一个根据用户输入的数值和符号进行四则运算的小程序。
测试说明
平台会对你编写的代码进行测试:
测试输入: 请输入一个整数:10
请再输入一个整数:6
请输入运算符号*
预期输出: 10*6=60
代码
a = int(input('请输入一个整数:')) # 输入字符串'10',转整数10
b = int(input('请再输入一个整数:')) # 输入字符串'6',转整数6
sign = input('请输入运算符号')
###################Begin##################################
# eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
# 字符串里包含引号时,内部引号与边界应用不同的引号
# 用户输入数值和符号
result = eval(f"{a}{sign}{b}") # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
print(f'{a}{sign}{b}={result}')
###################End##################################
第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('+-*/') # 随机获取一个运算符号
#################Begin##############################
if sign == '+':
result = a + b
elif sign == '-':
result = a - b
elif sign == '*':
result = a * b
else:
result = a / b
# 输出题目并接收用户答案
print(f'{a}{sign}{b}=',end='')
user_answer = int(input())
# 判断用户答案是否正确
if user_answer == result:
print('恭喜你,回答正确')
correct += 1
else:
print('回答错误,你要加油哦!')
#################End##############################
print(f'答对{correct}题,正确率为{correct / n * 100}%')
if __name__ == '__main__':
num = int(input('请输入出题数量:'))
m = int(input('请输入参与计算的最大数字:'))
calculator(num, m)
开始你的任务吧,祝你成功!