第1章  输入输出
第2章 数值运算
第3章 流程控制
第5章 随机数
1.直接输出计算结果
a = 5b = 10c = a + b# 输出计算结果print(c) # 15,输出一个对象print(a + b) # 15,可在输出表达式运算结果
2.输出时带表达式
a = 5b = 10c = a + b# 输出带格式计算结果print('a+b=', c) # a+b= 15,输出两个对象,默认空格分隔print('a+b=', c, sep='') # a+b=15,用空字符串分隔,消除空格
3.输出时带表达式
展示分隔符参数sep的作用和结束符end的作用
a = 5b = 10c = a + b# 输出带格式计算结果print('5+10=', c, sep='') # 5+10=15,2个对象,空格分隔print(a, b, sep='+', end='=') # 5+10= ,2个对象,用+分隔,用=结束,不换行print(c) # 5+10=15,接上一条语句输出
4.输出时带表达式,多个对象
a = 5b = 10c = a + b# 输出带格式计算结果print(a, '+', b, '=', c) # 5 + 10 = 15,5个对象,默认空格分隔print(a, '+', b, '=', c, sep='') # 5+10=15,5个对象,sep=''空字符串,消除空格
5.输出时带格式
a = 5b = 10c = a + b# str.format(),推荐使用print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出,大括号中数据类型任意# f-string,推荐使用print(f'{a}+{b}={c}') # 5+10=15,格式化输出,大括号中数据类型任意
6.用户输入计算数据
a = input() # 输入 5,默认为字符串'5'b = input() # 输入 10,默认为字符串'10'c = int(a) + int(b) # 转为整数做数学运算print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出print(f'{a}+{b}={c}') # 5+10=15,格式化输出
a = int(input()) # 输入字符串'5',转整数5b = int(input()) # 输入字符串'10',转整数10c = a + b # 整数做数学运算print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出print(f'{a}+{b}={c}') # 5+10=15,格式化输出
a = input('请输入一个整数:') # 输入字符串'5'b = int(input('请再输入一个整数:')) # 输入字符串'10',转整数10c = int(a) + b # 输入时未转类型的a转整数print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出print(f'{a}+{b}={c}') # 5+10=15,格式化输出
7.四则运算
a = int(input('请输入一个整数:')) # 输入字符串'10',转整数10b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5print(f'{a}+{b}={a+b}') # 10+5=15,格式化输出print(f'{a}-{b}={a-b}') # 10-5=5,格式化输出print(f'{a}*{b}={a*b}') # 10*5=50,格式化输出print(f'{a}/{b}={a/b}') # 10/5=2.0,格式化输出
8.用户输入数值与符号
a = int(input('请输入一个整数:')) # 输入字符串'10',转整数10b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5sign = input('请输入运算符号')print(f'{a}{sign}{b}={eval(f"{a}{sign}{b}")}')# eval()函数把字符串f"{a}{sign}{b}"转为计算表达式# 字符串里包含引号时,内部引号与边界应用不同的引号
请输入一个整数:10请再输入一个整数:6请输入运算符号*10*6=60
9.批量生成加法运算题
# 产生10道正整数加法的题目,用户输入计算结果,判断输入正确与否for i in range(10): # 循环10次,每次产生一个新问题a = int(input()) # 输入字符串'5',转整数5b = int(input()) # 输入字符串'10',转整数10print(f'{a}+{b}=', end='') # 5+10=15,格式化输出result = int(input()) # 用户输入计算结果if result == a + b:print('恭喜你,回答正确')else:print('回答错误,你要加油哦!')
10.批量生成四则运算题
# 产生10道正整数四则运算的题目,用户输入计算结果,判断输入正确与否for i in range(10): # 循环10次,每次产生一个新问题a = int(input('请输入一个整数:'))b = int(input('请再输入一个整数:'))sign = input('请输入运算符号')print(f'{a}{sign}{b}=', end='') # 5+10=15,格式化输出result = float(input()) # 用户输入计算结果if result == eval(f"{a}{sign}{b}"):print('恭喜你,回答正确')else:print('回答错误,你要加油哦!')
11.随机出题的四则运算
import randomdef calculator(n, maximum):"""随机产生n道正整数四则运算的题目,用户输入计算结果,判断输入正确与否,并统计正确率。题目保证减法不出现负数."""correct = 0for i in range(n): # 循环n次,每次产生一个新问题b = random.randint(0, maximum) # 随机产生一个maximum以内整数a = random.randint(b, maximum) # 随机产生一个b到maximum以内整数,避免减法出现负数sign = random.choice('+-*/') # 随机获取一个运算符号print(f'{a}{sign}{b}=', end='') # 5+10=,格式化输出result = float(input()) # 用户输入计算结果,转浮点数if result == eval(f'{a}{sign}{b}'): # eval()将字符串转表达式并计算print('恭喜你,回答正确')correct = correct + 1 # 统计回答正确的题目数量else:print('回答错误,你要加油哦!')print(f'答对{correct}题,正确率为{correct/n*100}%')if __name__ == '__main__':num = int(input('请输入出题数量:'))m = int(input('请输入参与计算的最大数字:'))calculator(num, m)
- 混合运算
 
输入一个数学运算表达式,输出运算结果。利用eval()函数实现表达式求值。
# 输入一个数学运算表达式,输出运算结果exp = input()print(f'{exp} = {eval(exp):.3f}')# 35*8-4//2**2%3# 35*8-4//2**2%3 = 279.000
