Python顺序语句经典练习题例题(一)。题目来源:Acwing
目录
1. A + B(两数求和)
输入两个整数,求这两个整数的和是多少。
输入格式
输入两个整数A,B,用空格隔开
输出格式
输出一个整数,表示这两个数的和
数据范围
0≤A,B≤10^8
输入样例
3 4
输出样例
7
AC代码
a, b = map(int, input().split())
print(a + b)
2. 圆的面积
计算圆的面积的公式定义为 A=πR^2。请利用这个公式计算所给圆的面积。
π的取值为 3.14159。
输入格式
输入包含一个浮点数,为圆的半径 R。
输出格式
输出格式为 A=X
,其中 X为圆的面积,用浮点数表示,保留四位小数。
数据范围
0<R<10000.00
输入样例
2.00
输出样例
A=12.5664
题解
0.input()接收的是字符串,因此要记得把r处理成浮点数。
1.转换为字符串输出,利用强制转化和round()函数。
2.格式化浮点数输出。注意pi*r*r作为一个整体要括起来。
AC代码
r = float(input())
pi = 3.14159
print("A=" + str(round(pi*r*r,4))) #第一种方法
print("A=%.4f" % (pi*r*r)) #第二种方法
3.平均数1
读取两个浮点数 A 和 B 的值,对应于两个学生的成绩。
请你计算学生的平均分,其中 AA 的成绩的权重为 3.5,B 的成绩的权重为 7.5。
成绩的取值范围在 0 到 10 之间,且均保留一位小数。
输入格式
输入占两行,每行包含一个浮点数,第一行表示 A,第二行表示 B。
输出格式
输出格式为 MEDIA = X
,其中 X 为平均分,结果保留五位小数。
数据范围
0≤A,B≤10.0
输入样例
5.0
7.1
输出样例
MEDIA = 6.43182
AC代码
a = float(input())
b = float(input())
c = (a*3.5+b*7.5)/11
print('MEDIA = %.5f' % c)
4.两点间的距离
给定两个点 P1 和 P2,其中 P1 的坐标为 (x1,y1),P2P2 的坐标为 (x2,y2),请你计算两点间的距离是多少。
输入格式
输入共两行,每行包含两个双精度浮点数 xi,yi,表示其中一个点的坐标。
输入数值均保留一位小数。
输出格式
输出你的结果,保留四位小数。
数据范围
−10^9≤xi,yi≤10^9
输入样例
1.0 7.0
5.0 9.0
输出样例
4.4721
AC代码
1.直接计算
x1, y1 = map(float, input().split())
x2, y2 = map(float, input().split())
distance = ((x2 - x1)**2 + (y2 - y1)**2)**0.5
print("%.4f" % distance)
2.引入sqrt函数开平方根
from math import sqrt
x1, y1 = map(float, input().split())
x2, y2 = map(float, input().split())
distance = sqrt((x2 - x1)**2 + (y2 - y1)**2)
print("%.4f" % distance)
5.钞票
在这个问题中,你需要读取一个整数值并将其分解为多张钞票的和,每种面值的钞票可以使用多张,并要求所用的钞票数量尽可能少。
请你输出读取值和钞票清单。
钞票的可能面值有 100,50,20,10,5,2,1。
经过实验证明:在本题中,优先使用面额大的钞票可以保证所用的钞票总数量最少。
输入格式
输入一个整数 N。
输出格式
参照输出样例,输出读取数值以及每种面值的钞票的需求数量。
数据范围
0<N<1000000
输入样例
576
输出样例
576
5 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
1 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
0 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00
题解
本质上就是整除和取余的运用。从100到1按面额依次计算即可。
AC代码
1.用flag作余数
x = int(input())
flag = x
x_100 = flag // 100
flag %= 100
x_50 = flag // 50
flag %= 50
x_20 = flag // 20
flag %= 20
x_10 = flag // 10
flag %= 10
x_5 = flag // 5
flag %= 5
x_2 = flag // 2
flag %= 2
x_1 = flag
print(x)
print(x_100, "nota(s) de R$ 100,00")
print(x_50, "nota(s) de R$ 50,00")
print(x_20, "nota(s) de R$ 20,00")
print(x_10, "nota(s) de R$ 10,00")
print(x_5, "nota(s) de R$ 5,00")
print(x_2, "nota(s) de R$ 2,00")
print(x_1, "nota(s) de R$ 1,00")
2.更简化一点,金额一边变化一边输出
n = int(input())
print(n)
print('%d nota(s) de R100,00′nprint(′ 100,00' % (n // 100))
n %= 100
print('%d nota(s) de R 50,00' % (n // 50))
n %= 50
print('%d nota(s) de R20,00′nprint(′ 20,00' % (n // 20))
n %= 20
print('%d nota(s) de R 10,00' % (n // 10))
n %= 10
print('%d nota(s) de R5,00′nprint(′ 5,00' % (n // 5))
n %= 5
print('%d nota(s) de R 2,00' % (n // 2))
n %= 2
print('%d nota(s) de R$ 1,00' % n)