【Python】Python顺序语句经典题(四)

Python顺序语句经典练习题例题(四)。题目来源:Acwing

前三期合集:【Python】Python顺序语句经典题合集-优快云博客

目录

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值