鱼C论坛

 找回密码
 立即注册
查看: 2339|回复: 1

[学习笔记] 单元测试学习笔记

[复制链接]
发表于 2019-8-23 22:44:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求出字符串中无重复字母的最长切片字符串的长度
import unittest

def len_str_slice_equal_set(string):
    """求出字符串中无重复字母的最长切片字符串的长度"""
    """这样的切片字符串其集合化的长度等于自身长度"""
    length = len(string)
    
    if length == len(set(string)): 
        return length
    
    max_len = 0
    str_len = 0
    
    for i in range(0, length-max_len-1):
        for j in range(i+max_len+1, length+1):  #为了能切下字符串中的最后一个字符,j 必须取到 length 的值
            str_slice = string[i : j]
            str_len = j - i
            set_str_slice = set(str_slice)
            
            if (str_len == len(set_str_slice)) and (str_len > max_len):
                max_len = str_len 
                
    return max_len

# ~ print(len_str_slice_equal_set(input("请输入你最喜欢的一句话:")))

class TestCase1(unittest.TestCase):
        """函数测试"""
    def setUp(self):  #创建参数与答案列表
        self.str = ['bbbbb', 
         "qwwkew",
         "abcabcaa",
         "qwert",
         "",
         'a',
         '求出字符串中无重复字母的最长切片字符串的长度']
        self.answer = (1, 3, 3, 5, 0, 1, 13)
        
    def test_0(self): #第0个测试,每个测试务必以test_开头,否则不执行
        for i in range(len(self.str)):
            answer = len_str_slice_equal_set(self.str[i])
            self.assertEqual(answer, self.answer[i])
        
unittest.main()

评分

参与人数 1贡献 +1 收起 理由
zltzlt + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-24 10:46:59 | 显示全部楼层
不错哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 02:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表