第1章 输入输出
第2章 数值运算
第3章 流程控制
第5章 随机数
1.直接输出计算结果
a = 5
b = 10
c = a + b
# 输出计算结果
print(c) # 15,输出一个对象
print(a + b) # 15,可在输出表达式运算结果
2.输出时带表达式
a = 5
b = 10
c = a + b
# 输出带格式计算结果
print('a+b=', c) # a+b= 15,输出两个对象,默认空格分隔
print('a+b=', c, sep='') # a+b=15,用空字符串分隔,消除空格
3.输出时带表达式
展示分隔符参数sep的作用和结束符end的作用
a = 5
b = 10
c = 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 = 5
b = 10
c = a + b
# 输出带格式计算结果
print(a, '+', b, '=', c) # 5 + 10 = 15,5个对象,默认空格分隔
print(a, '+', b, '=', c, sep='') # 5+10=15,5个对象,sep=''空字符串,消除空格
5.输出时带格式
a = 5
b = 10
c = 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',转整数5
b = int(input()) # 输入字符串'10',转整数10
c = 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',转整数10
c = 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',转整数10
b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5
print(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',转整数10
b = int(input('请再输入一个整数:')) # 输入字符串'5',转整数5
sign = 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',转整数5
b = int(input()) # 输入字符串'10',转整数10
print(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 random
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('+-*/') # 随机获取一个运算符号
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