鱼C论坛

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

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

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

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

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

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

  2. def len_str_slice_equal_set(string):
  3.     """求出字符串中无重复字母的最长切片字符串的长度"""
  4.     """这样的切片字符串其集合化的长度等于自身长度"""
  5.     length = len(string)
  6.    
  7.     if length == len(set(string)):
  8.         return length
  9.    
  10.     max_len = 0
  11.     str_len = 0
  12.    
  13.     for i in range(0, length-max_len-1):
  14.         for j in range(i+max_len+1, length+1):  #为了能切下字符串中的最后一个字符,j 必须取到 length 的值
  15.             str_slice = string[i : j]
  16.             str_len = j - i
  17.             set_str_slice = set(str_slice)
  18.             
  19.             if (str_len == len(set_str_slice)) and (str_len > max_len):
  20.                 max_len = str_len
  21.                
  22.     return max_len

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

  24. class TestCase1(unittest.TestCase):
  25.         """函数测试"""
  26.     def setUp(self):  #创建参数与答案列表
  27.         self.str = ['bbbbb',
  28.          "qwwkew",
  29.          "abcabcaa",
  30.          "qwert",
  31.          "",
  32.          'a',
  33.          '求出字符串中无重复字母的最长切片字符串的长度']
  34.         self.answer = (1, 3, 3, 5, 0, 1, 13)
  35.         
  36.     def test_0(self): #第0个测试,每个测试务必以test_开头,否则不执行
  37.         for i in range(len(self.str)):
  38.             answer = len_str_slice_equal_set(self.str[i])
  39.             self.assertEqual(answer, self.answer[i])
  40.         
  41. unittest.main()
复制代码

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-24 10:46:59 | 显示全部楼层
不错哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 22:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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