第1章 输入输出
第2章 数值运算
第3章 流程控制
第5章 随机数

1.直接输出计算结果

  1. a = 5
  2. b = 10
  3. c = a + b
  4. # 输出计算结果
  5. print(c) # 15,输出一个对象
  6. print(a + b) # 15,可在输出表达式运算结果

2.输出时带表达式

  1. a = 5
  2. b = 10
  3. c = a + b
  4. # 输出带格式计算结果
  5. print('a+b=', c) # a+b= 15,输出两个对象,默认空格分隔
  6. print('a+b=', c, sep='') # a+b=15,用空字符串分隔,消除空格

3.输出时带表达式

展示分隔符参数sep的作用和结束符end的作用

  1. a = 5
  2. b = 10
  3. c = a + b
  4. # 输出带格式计算结果
  5. print('5+10=', c, sep='') # 5+10=15,2个对象,空格分隔
  6. print(a, b, sep='+', end='=') # 5+10= ,2个对象,用+分隔,用=结束,不换行
  7. print(c) # 5+10=15,接上一条语句输出

4.输出时带表达式,多个对象

  1. a = 5
  2. b = 10
  3. c = a + b
  4. # 输出带格式计算结果
  5. print(a, '+', b, '=', c) # 5 + 10 = 15,5个对象,默认空格分隔
  6. print(a, '+', b, '=', c, sep='') # 5+10=15,5个对象,sep=''空字符串,消除空格

5.输出时带格式

  1. a = 5
  2. b = 10
  3. c = a + b
  4. # str.format(),推荐使用
  5. print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出,大括号中数据类型任意
  6. # f-string,推荐使用
  7. print(f'{a}+{b}={c}') # 5+10=15,格式化输出,大括号中数据类型任意

6.用户输入计算数据

  1. a = input() # 输入 5,默认为字符串'5'
  2. b = input() # 输入 10,默认为字符串'10'
  3. c = int(a) + int(b) # 转为整数做数学运算
  4. print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出
  5. print(f'{a}+{b}={c}') # 5+10=15,格式化输出
  1. a = int(input()) # 输入字符串'5',转整数5
  2. b = int(input()) # 输入字符串'10',转整数10
  3. c = a + b # 整数做数学运算
  4. print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出
  5. print(f'{a}+{b}={c}') # 5+10=15,格式化输出
  1. a = input('请输入一个整数:') # 输入字符串'5'
  2. b = int(input('请再输入一个整数:')) # 输入字符串'10',转整数10
  3. c = int(a) + b # 输入时未转类型的a转整数
  4. print('{}+{}={}'.format(a, b, c)) # 5+10=15,格式化输出
  5. print(f'{a}+{b}={c}') # 5+10=15,格式化输出

7.四则运算

  1. a = int(input('请输入一个整数:')) # 输入字符串'10',转整数10
  2. b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5
  3. print(f'{a}+{b}={a+b}') # 10+5=15,格式化输出
  4. print(f'{a}-{b}={a-b}') # 10-5=5,格式化输出
  5. print(f'{a}*{b}={a*b}') # 10*5=50,格式化输出
  6. print(f'{a}/{b}={a/b}') # 10/5=2.0,格式化输出

8.用户输入数值与符号

  1. a = int(input('请输入一个整数:')) # 输入字符串'10',转整数10
  2. b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5
  3. sign = input('请输入运算符号')
  4. print(f'{a}{sign}{b}={eval(f"{a}{sign}{b}")}')
  5. # eval()函数把字符串f"{a}{sign}{b}"转为计算表达式
  6. # 字符串里包含引号时,内部引号与边界应用不同的引号
  1. 请输入一个整数:10
  2. 请再输入一个整数:6
  3. 请输入运算符号*
  4. 10*6=60

9.批量生成加法运算题

  1. # 产生10道正整数加法的题目,用户输入计算结果,判断输入正确与否
  2. for i in range(10): # 循环10次,每次产生一个新问题
  3. a = int(input()) # 输入字符串'5',转整数5
  4. b = int(input()) # 输入字符串'10',转整数10
  5. print(f'{a}+{b}=', end='') # 5+10=15,格式化输出
  6. result = int(input()) # 用户输入计算结果
  7. if result == a + b:
  8. print('恭喜你,回答正确')
  9. else:
  10. print('回答错误,你要加油哦!')

10.批量生成四则运算题

  1. # 产生10道正整数四则运算的题目,用户输入计算结果,判断输入正确与否
  2. for i in range(10): # 循环10次,每次产生一个新问题
  3. a = int(input('请输入一个整数:'))
  4. b = int(input('请再输入一个整数:'))
  5. sign = input('请输入运算符号')
  6. print(f'{a}{sign}{b}=', end='') # 5+10=15,格式化输出
  7. result = float(input()) # 用户输入计算结果
  8. if result == eval(f"{a}{sign}{b}"):
  9. print('恭喜你,回答正确')
  10. else:
  11. print('回答错误,你要加油哦!')

11.随机出题的四则运算

  1. import random
  2. def calculator(n, maximum):
  3. """随机产生n道正整数四则运算的题目,用户输入计算结果,
  4. 判断输入正确与否,并统计正确率。题目保证减法不出现负数."""
  5. correct = 0
  6. for i in range(n): # 循环n次,每次产生一个新问题
  7. b = random.randint(0, maximum) # 随机产生一个maximum以内整数
  8. a = random.randint(b, maximum) # 随机产生一个b到maximum以内整数,避免减法出现负数
  9. sign = random.choice('+-*/') # 随机获取一个运算符号
  10. print(f'{a}{sign}{b}=', end='') # 5+10=,格式化输出
  11. result = float(input()) # 用户输入计算结果,转浮点数
  12. if result == eval(f'{a}{sign}{b}'): # eval()将字符串转表达式并计算
  13. print('恭喜你,回答正确')
  14. correct = correct + 1 # 统计回答正确的题目数量
  15. else:
  16. print('回答错误,你要加油哦!')
  17. print(f'答对{correct}题,正确率为{correct/n*100}%')
  18. if __name__ == '__main__':
  19. num = int(input('请输入出题数量:'))
  20. m = int(input('请输入参与计算的最大数字:'))
  21. calculator(num, m)
  1. 混合运算

输入一个数学运算表达式,输出运算结果。利用eval()函数实现表达式求值。

  1. # 输入一个数学运算表达式,输出运算结果
  2. exp = input()
  3. print(f'{exp} = {eval(exp):.3f}')
  4. # 35*8-4//2**2%3
  5. # 35*8-4//2**2%3 = 279.000