Python:1037 在霍格沃茨找零钱_最后一个测试点

简介: Python:1037 在霍格沃茨找零钱_最后一个测试点

最后一个测试点源于没有考虑P, A的钱是一样的,输出格式应该为:0.0.0

思路:

我的思路是先构造两个函数,一个(假定为函数trans)是将 x.x.x的格式全部换算成最小单位 纳特(Knut)

另一个(假定为函数retrans)是将以最小单位纳特(Knut)计量的数转化为 x.x.x的格式;

之所以这样子做是因为

1.全部换算成最小单位十分方便计算

2.使用函数可以减少内存占用

现在开始代码实现:


1.编写函数trans()

由于进制是1-17-29

所以可以下面这个样子:

def trans(strg):
    g, s, k = map(int, strg.split('.'))  # 以.分隔
    num = g * 17 * 29+ s * 29 + k  # 进制换算
    return num


2.编写函数retrans()

def retrans(num):
    g = num // (17 * 29)
    s = (num - g * 17 * 29) // 29
    k = (num - g * 17 * 29 - s * 29)
    strg = '.'.join([str(g), str(s), str(k)])  # 以.连接列表各元素
    return strg


3.接收数据-数据处理

1. p, a = input().split()
2. p_t, a_t = trans(p), trans(a)


4.数据输出(判断二者是否相等)

1. if p_t < a_t:
2. print(retrans(a_t - p_t))
3. elif p_t > a_t:
4. print('-' + retrans(p_t - a_t))
5. else:
6. print('0.0.0')


5.完整代码如下:

def trans(strg):
    g, s, k = map(int, strg.split('.'))
    num = g * 17 * 29+ s * 29 + k
    return num
def retrans(num):
    g = num // (17 * 29)
    s = (num - g * 17 * 29) // 29
    k = (num - g * 17 * 29 - s * 29)
    strg = '.'.join([str(g), str(s), str(k)])
    return strg
p, a = input().split()
p_t, a_t = trans(p), trans(a)
if p_t < a_t:
    print(retrans(a_t - p_t))
elif p_t > a_t:
    print('-' + retrans(p_t - a_t))
else:
    print('0.0.0')
目录
相关文章
|
2天前
|
测试技术 Go Python
在python中测试应用
【6月更文挑战第29天】本文介绍Python的unittest是内置的单元测试框架,适合线性控制流的代码测试。并举实例说明,如何组织测试代码,如何构造脚手架和测试套件。
17 6
在python中测试应用
|
5天前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
13 3
|
5天前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
17 1
|
28天前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
12天前
|
测试技术 Python
Python教程:利用timeit模块对代码进行性能测试
在Python中,了解代码的性能是优化和改进的关键。timeit模块是Python标准库中的一个工具,用于测量代码片段的执行时间。本文将介绍timeit模块的各种接口、命令行使用方法以及如何对代码中的函数或类进行性能测试。
22 3
|
21天前
|
IDE 测试技术 持续交付
Python作为一种简洁、易读且功能强大的编程语言,其自动化测试和单元测试框架的丰富性和易用性为开发者提供了极大的便利
【6月更文挑战第10天】本文探讨了Python自动化测试与单元测试框架在提升代码质量和效率中的作用。Selenium、Appium和pytest是常用的自动化测试框架,分别支持Web和移动应用的测试。unittest是Python的标准单元测试框架,提供断言方法和测试组织结构。通过制定测试计划、编写高质量测试用例、持续集成与测试、以及有效利用测试报告,开发者能提高代码质量和开发效率。
30 1
|
3天前
|
消息中间件 缓存 中间件
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
【赠书活动 - 第1期】- 测试工程师Python开发实战(异步图书出品)| 文末送书
|
3天前
|
测试技术
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
|
3天前
|
测试技术 Python
python接口自动化测试 - unittest框架suite、runner详细使用
python接口自动化测试 - unittest框架suite、runner详细使用
|
4天前
|
安全 测试技术 Python
python单元测试
python单元测试