python代码设计测试用例_Python实现 版本号对比功能的实例代码

下面先给大家介绍python实现版本号对比功能,具体内容如下所示:

相同位置版本号大小比较:

def abc(str1, str2):

if str1 == "" or str2 == "":

print("输入包含空字符串,请重新输入")

return ("输入包含空字符串,请重新输入")

elif str1 == str2:

print("2个版本号相同")

return ("2个版本号相同")

elif int(str1[0]) > int(str2[0]):

print("版本1的版本号更大")

return ("版本1的版本号更大")

elif int(str1[0]) < int(str2[0]):

print("版本2的版本号更大")

return ("版本2的版本号更大")

abc(str1[2:], str2[2:])

abc("5.3.2", "5.1.9")

ps:下面看下python 比较两个版本号大小

# -*- coding: utf-8 -*-

__author__ = 'ypp'

import re

def versionCompare(v1="1.1.1", v2="1.2"):

v1_check = re.match("\d+(\.\d+){0,2}", v1)

v2_check = re.match("\d+(\.\d+){0,2}", v2)

if v1_check is None or v2_check is None or v1_check.group() != v1 or v2_check.group() != v2:

return "版本号格式不对,正确的应该是x.x.x,只能有3段"

v1_list = v1.split(".")

v2_list = v2.split(".")

v1_len = len(v1_list)

v2_len = len(v2_list)

if v1_len > v2_len:

for i in range(v1_len - v2_len):

v2_list.append("0")

elif v2_len > v1_len:

for i in range(v2_len - v1_len):

v1_list.append("0")

else:

pass

for i in range(len(v1_list)):

if int(v1_list[i]) > int(v2_list[i]):

return "v1大"

if int(v1_list[i]) < int(v2_list[i]):

return "v2大"

return "相等"

# 测试用例

print(versionCompare(v1="", v2=""))

print(versionCompare(v1="1.0.a", v2="d.0.1"))

print(versionCompare(v1="1.0.1", v2="1.0.1"))

print(versionCompare(v1="1.0.2", v2="1.0.1"))

print(versionCompare(v1="1.0.1", v2="1.0.2"))

print(versionCompare(v1="1.0.11", v2="1.0.2"))

设计思想:

1.使用正则表达式判断版本号格式是否正确

2.将字符串用”.”分隔成数组

3.比较数组长度,将长度短的数组用“0”补齐成相等长度数组

4.逐个遍历数组元素,比较大小

测试用例:

1.版本号为空

2.版本号含非数字

3.版本号长度不一致

4.版本号以点为分隔,逐位比较

总结

以上所述是小编给大家介绍的Python实现 版本号对比功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文标题: Python实现 版本号对比功能的实例代码

本文地址: http://www.cppcns.com/jiaoben/python/257438.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python实现softmaxLayer的代码示例: ```python import numpy as np class SoftmaxLayer: def __init__(self): self.input = None def forward(self, input): self.input = input exp_input = np.exp(input) return exp_input / np.sum(exp_input, axis=1, keepdims=True) def backward(self, output_grad, learning_rate): batch_size = self.input.shape[0] output = self.forward(self.input) d_input = np.zeros_like(self.input) for i in range(batch_size): jacobian = np.diag(output[i]) - np.outer(output[i], output[i]) d_input[i] = np.dot(output_grad[i], jacobian) return d_input ``` 以下是使用Python编写的softmaxLayer的测试用例: ```python def test_softmax_layer(): layer = SoftmaxLayer() input = np.array([[-1, 2, 3], [0, -2, -1]]) output = layer.forward(input) expected_output = np.array([[0.01587624, 0.11731043, 0.86681333], [0.66524096, 0.09003057, 0.24472847]]) assert np.allclose(output, expected_output, rtol=1e-5, atol=1e-5) output_grad = np.array([[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]) input_grad = layer.backward(output_grad, learning_rate=0.1) expected_input_grad = np.array([[-0.01922149, 0.04060154, -0.02138006], [0.15242616, -0.20610701, 0.05368084]]) assert np.allclose(input_grad, expected_input_grad, rtol=1e-5, atol=1e-5) print("softmax layer test passed!") ``` 在这个测试用例中,我们首先创建了一个softmax层并使用给定的输入计算输出。然后,我们使用输出梯度调用反向传播函数,以计算输入梯度。最后,我们检查计算出的输出和输入梯度是否与预期值非常接近。如果测试用例没有抛出异常,则说明softmax层实现正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值