Python顺序语句经典练习题例题(四)。题目来源:Acwing
前三期合集:【Python】Python顺序语句经典题合集-CSDN博客
目录
1.最大值
题目描述
解题思路
AC代码
2.距离
题目描述
AC代码
3.燃料消耗
题目描述
AC代码
4.钞票和硬币
题目描述
解题思路
AC代码
5.天数转换
题目描述
AC代码
1.最大值
题目描述
给定三个整数,请你找出它们中的最大值。
下列公式可能对你有所帮助:
输入格式
输入占一行,包含三个整数。
输出格式
输出格式为 X eh o maior
,其中 X 为三个数中的最大值。
数据范围
1≤给定整数≤10^9
输入样例
7 14 106
输出样例
106 eh o maior
解题思路
先求a和b的最大值,再去求ab最大值和c的最大值。
这里新用到一个函数:绝对值函数abs() (直接使用即可,语法:abs(变量或表达式))
AC代码
a, b, c = map(int, input().split())
ab = (a + b + abs(a-b))/2
print('%d eh o maior' % ((ab + c + abs(ab-c))/2))
2.距离
题目描述
两辆汽车在同一地点,同时,沿同一方向前进。
一辆车的速度为 60 km/h,另一辆车的速度为 90 km/h。
显然,快车与慢车的距离会不断拉开,每过一个小时(60 分钟),两车的距离就拉开 30 公里。
现在,告诉你两车之间的距离为 L 公里,请你求出两车已经行驶了多长时间?
输入格式
输入包含一个整数 L,表示两车之间的距离。
输出格式
输出格式为 X minutos
,其中 X 为已经行驶的时间,单位为分钟。
数据范围
1≤L≤10^9
输入样例
30
输出样例
60 minutos
AC代码
L = float(input())
print('%d minutos' % (L / 30 * 60)) #拉开时间 = 两车距离 / 两车差速 ,单位化为分钟再乘以60
3.燃料消耗
题目描述
一辆汽车每行驶 12 公里需要消耗 11 升汽油,现在告诉你该汽车的行驶速度 S(km/h)和行驶时间 T(h),请你计算该车在行驶过程中一共消耗了多少升汽油。
输入格式
输入共两行,第一行包含一个整数 T,表示行驶时间(h)。
第二行包含一个整数 S,表示行驶速度(km/h)。
输出格式
输出行驶期间的总油耗,结果保留三位小数。
数据范围
1≤T,S≤10^7
输入样例
10
85
输出样例
70.833
AC代码
t = float(input())
s = float(input())
print('%.3f' % (s * t / 12))
4.钞票和硬币
题目描述
读取一个带有两个小数位的浮点数,这代表货币价值。
在此之后,将该值分解为多种钞票与硬币的和,每种面值的钞票和硬币使用数量不限,要求使用的钞票和硬币的总数量尽可能少。
钞票的面值是 100,50,20,10,5,2。
硬币的面值是 1,0.50,0.25,0.10,0.05 和 0.01。
经过实验证明:在本题中,优先使用面额大的钞票和硬币可以保证所用的钞票和硬币总数量最少。
输入格式
输入一个浮点数 N。
输出格式
参照输出样例,输出每种面值的钞票和硬币的需求数量。
数据范围
0≤N≤1000000.00
输入样例
576.73
输出样例
NOTAS:
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
MOEDAS:
1 moeda(s) de R$ 1.00
1 moeda(s) de R$ 0.50
0 moeda(s) de R$ 0.25
2 moeda(s) de R$ 0.10
0 moeda(s) de R$ 0.05
3 moeda(s) de R$ 0.01
解题思路
直接计算容易出错,直接将数值放大,消除小数点再换算。
AC代码
n = float(input())
x = int(n*100)
print('NOTAS:')
print('%d nota(s) de R100.00′xprint(′ 100.00' % (x//10000))
x %= 10000
print('%d nota(s) de R 50.00' % (x//5000))
x %= 5000
print('%d nota(s) de R20.00′xprint(′ 20.00' % (x//2000))
x %= 2000
print('%d nota(s) de R 10.00' % (x//1000))
x %= 1000
print('%d nota(s) de R5.00′xprint(′ 5.00' % (x//500))
x %= 500
print('%d nota(s) de R 2.00' % (x//200))
x %= 200
print('MOEDAS:')
print('%d moeda(s) de R1.00′xprint(′ 1.00' % (x//100))
x %= 100
print('%d moeda(s) de R 0.50' % (x//50))
x %= 50
print('%d moeda(s) de R0.25′xprint(′ 0.25' % (x//25))
x %= 25
print('%d moeda(s) de R 0.10' % (x//10))
x %= 10
print('%d moeda(s) de R0.05′xprint(′ 0.05' % (x//5))
x %= 5
print('%d moeda(s) de R 0.01' % x)
5.天数转换
题目描述
读取对应于一个人的年龄(以天为单位)的整数值,并转化为年,月和日表示方式输出,年、月、日分别对应 ano(s)
, mes(es)
, dia(s)
。
注意:为了方便计算,假设全年 365 天,每月 30 天。 数据保证,不会出现 12 个月和几天的情况,例如 360,363 或 364。
输入格式
输入一个整数 N。
输出格式
参照输出样例,输出转换后的天数表达。
数据范围
1≤N≤1000000
输入样例
400
输出样例
1 ano(s)
1 mes(es)
5 dia(s)
AC代码
n = int(input())
print('%d ano(s)' % ( n // 365))
n %= 365
print('%d mes(es)' % ( n // 30))
n %= 30
print('%d dia(s)' % n)