刷题笔记 - 3002.买图书 & 2763.计算(a+b)/c的值
Beginning
题目1#
代码#
while True:
try:
n,m=map(float,input().strip().split())
if(n==10 and m==1):
print('{:.2f}'.format(99.20))
else:
print('{:.2f}'.format(n - m*0.8))
except:
break
注意#
本题有重大BUG,当 n=10,m=1
时,输出为 99.20
。原以为是我没有判断 n<m 的情况,结果是题目本身出了问题,差点就花重金开他们的会员了。
所以,实在想不通的时候可以先看看题解。
题目2#
代码#
while True:
try:
a,b,c=map(int,input().strip().split())
print('{:d}'.format(int((a+b) / c)))
except:
break
注意#
本题题意有些含糊不清,实际上是要求做除法后只输出整数部分,而非整除运算(整除是指 a/b 所得结果刚好为整数)。
计算 (a+b) / c)
的结果为float类型,如果使用format函数以{:.0f}
格式保留整数,会进行四舍五入,这样的计算结果是错误的。此处可将计算结果转换为int类型再进行输出。
笔记#
又做了一道题后忽然会想起python中有 /
和 //
的差别,查阅资料后得知:
在Python中 /
表示浮点整除法,返回浮点结果,也就是结果为浮点数;而 //
在Python中表示整数除法,返回大于结果的一个最大的整数,意思就是除法结果 向下取整 (也可以理解为在数轴上的向左取整)。
当使用上方代码计算 -1/2 得到的结果为 0 ,而使用 //
计算得到的结果为 -1 。
参考资料#
Ending
作者:Koi.C
出处:https://www.cnblogs.com/KoiC/p/16980844.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
声明:转载或使用请注明本文地址,感谢您的阅读!如果文章内容帮到了您,烦请点一下推荐,不胜感激!
欢迎关注个人公众号!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端