1.新建一个函数,判断是不是int 类型,并测试,不是抛出错误
def adder(x, y):
"""
Return x + y if they are both integers
"""
if not (isinstance(x, int) and isinstance(y, int)):
raise TypeError("Inputs must be integers")
return x + y
res = adder(4,5)
print(res)
2.
import unittest
from adder import adder

class Test(unittest.TestCase):

def test_adder_errors(self):
"Tests ensuring errors in data that cause TypeError raises."
self.assertRaises(TypeError, adder, "123", "456")
self.assertRaises(TypeError, adder, "123", 456)
self.assertRaises(TypeError, adder, "123", 456)
self.assertRaises(TypeError, adder, 1.23, 456)

def test_adder_successes(self):
"Tests ensuring that valid data passes."
self.assertTrue(adder(1, 2) == 3, "1 + 2 is not 3")

if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.test_adder_errors', 'Test.test_adder_succusses']
unittest.main()
tip:
#理解if __name__ == "__main__"
def main():
print("we are in %s" % __name__ )
print(1)
if __name__ == "__main__": #这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!
main()
print(2)
3.
import sys
for n,arg in enumerate(sys.argv): #对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
print(n,":", arg)
# list = ["这","是","一个","测试"]
# for i in range(len(list)):
# print(i,list[i])
# list1 = ["这","是","一个","测试"]
# for index,item in enumerate(list1):
# print(index,item)

4.
def zip_errors(z):
"""
Validate z as either NNNN or NNNN-NNNN.
"""
l = len(z)
if l not in(5,10):
return "Zip codes should be 5 or 10 characters long"
if (not z[:5].isdigit() or
l == 10 and not z[6:].isdigit()):
return "Zip code contains non-numeric characters"
if l == 10 and z[5] != "-":
return "Ten-digit zips must have a dash between the two parts"
return
tip:
import unittest
def cal(a,b):
return a + b
class CalTest(unittest.TestCase):
def testA(self):
expected = 6
result = cal(2,4)
self.assertEqual(expected,result);
def testB(self):
expected = 0
result = cal(2,1)
self.assertEqual(expected,result)
if __name__ == '__main__':
unittest.main() #执行 unittest.main() ,该函数会负责运行测试,它会实例化所有TestCase的子类,并运行其中所有以test打头的方法。
#多个测试类
#coding=utf-8
import unittest
from test1 import CalTest1
from test2 import CalTest2
if __name__=='__main__':unittest.main()

解读python小练习的更多相关文章

  1. 不一样的角度 解读微信小程序

    不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...

  2. 解读Python发送邮件

    解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...

  3. Python小工具--删除svn文件

    有的时候我们需要删除项目下的svn相关文件,但是SVN会在所有的目录下都创建隐藏文件.svn,手工一个个目录查找然后删除显然比较麻烦.所以这里提供了一个Python小工具用于批量删除svn的相关文件: ...

  4. 全面解读Python Web开发框架Django

    全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...

  5. python小练习(自己瞎倒腾)

    python小练习 在网上无意中看到一个问题,心血来潮写了写,觉得比较有意思,以后遇到这种有意思的小练习也记录下. #!/usr/bin/env python # -*- coding:utf-8 - ...

  6. python小练习之二

    title: python小练习之二 tags: 新建,模板,小书匠 grammar_cjkRuby: true --- python小练习之二 需求:实现用户登录,用户名和密码保存到文件里,连续输入 ...

  7. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  8. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

  9. python小练习---TCP服务器端

    针对于上一篇分享python小练习---TCP客户端 http://www.cnblogs.com/zhaijiahui/p/6926197.html我继续按书中内容,向下进行这里需要强调一个事py3 ...

随机推荐

  1. 006---Python基本数据类型--集合

    集合 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px ...

  2. SAP ABAP Development Tools in Eclipseのセットアップ

    手順 1. Eclipse IDE インストール 以下からダウンロード.https://tools.hana.ondemand.com/#abap※2018/1月現在 Oxygen(4.7)詳細は割愛 ...

  3. Hadoop学习(四) FileSystem Shell命令详解

    FileSystem Shell中大多数命令都和unix命令相同,只是两者之间的解释不同,如果你对unix命令有基本的了解,那么对于FileSystem Shell的命令,你将会感到很亲切. appe ...

  4. codevs 1214 线段覆盖/1643 线段覆盖 3

    1214 线段覆盖/1214 线段覆盖  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold       题目描述 Description 给定x轴上的N(0< ...

  5. MySQL数据库服务器逐渐变慢分析与解决

    一.检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU.内存.交换.磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可 ...

  6. springmvc基础篇—处理图片静态资源文件

    当我们在web.xml中对DispatcherServlet的过滤设置为/ 的时候,表示对所有的路径进行拦截过滤,那么不可避免的就会产生一个问题,那就是像图片这种静态资源文件我明明引用路径有,但就是加 ...

  7. 国际电话区号SQL

    CREATE TABLE `phone_prefix` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `country` varchar(30) N ...

  8. CSP201509-1:数组分段

    引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的“计算机职业资格认证”考试,针对计算机软件开发. ...

  9. 洛谷P2346四子连棋

    题目描述 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向上下左右四个方向移动到相邻的空格,这叫行棋一步. 黑白双方交替走棋,任意一方可 ...

  10. React错误总结(三)

    神坑react native之Cannot Add a child that doesn't have a YogaNode to a parent with out a measure functi ...