python进阶练习题:简单Web框架#1:创建基本路由器【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

python进阶练习题:简单Web框架#1:创建基本路由器【难度:2级】:

在这个Kata中,您必须为Web框架设计一个简单的路由类.

路由器应接受给定URL,http方法和操作的绑定.

然后,当带有绑定URL和方法的请求进入时,它应该返回操作的结果.

用法示例:

router =路由器()
router.bind('/ hello','GET',lambda:'hello world')

router.runRequest('/ hello','GET')//返回'hello world'

var router = new Router;
router.bind('/ hello','GET',function(){return'hello world';});

router.runRequest('/ hello','GET')//返回'hello world';

router =新路由器
router.bind'/ hello','GET', - >'hello world'

router.runRequest'/ hello','GET'# 返回'hello world'

当询问不存在的路由时,路由器应返回:

'未找到错误404'

'未找到错误404'

路由器还应该处理修改现有路由.有关详细信息,请参阅示例测试.

编程目标:

class Router(object):
    pass


测试样例:

Test.describe('Should handle GET routes')
router = Router()
router.bind('/hello', 'GET', lambda: 'hello world')
router.bind('/login', 'GET', lambda: 'Please log-in.')
Test.assert_equals(router.runRequest('/hello', 'GET'), 'hello world')
Test.assert_equals(router.runRequest('/login', 'GET'), 'Please log-in.')
router = Router()
router.bind('/vote', 'POST', lambda: 'Voted.')
router.bind('/comment', 'POST', lambda:  'Comment sent.')
Test.assert_equals(router.runRequest('/vote', 'POST'), 'Voted.')
Test.assert_equals(router.runRequest('/comment', 'POST'), 'Comment sent.')
17


最佳答案(多种解法):

点击查看答案

更多关联题目:

降序排列【难度:1级】–景越Python编程训练之挑战1000道Python面试题(含答案)
Python进阶练习题:水钻牛仔~计算他的靴子里的美元!【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
单词搜索网格【难度:3级】–景越Python编程训练之挑战1000道Python面试题(含答案)
Disarium Number(特殊号码系列#3)【难度:1级】–景越Python编程训练之挑战1000道Python面试题(含答案)











免责申明:

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars.com/

你可能感兴趣的:(Python编程进阶练习题)