python 反人类函数式编程模拟while和if控制流
2014-03-20 17:14
459 查看
比如下面这个简单明了的命令式程序,它不断捕捉用户输入的内容,然后对其求和.直到用户输入一个以'0'开头的字符串,停止捕捉.
那么,能不能不用while和if这些控制流语句,用纯函数式编程一句搞定呢?能.
原型如下:
这是用递归来模拟无限循环while 1."..."的位置放上你想无限执行的表达式即可.
lambda表达式的精妙之处在于,它的定义或者执行都是表达式.比如下面2个都是表达式:
while 1: line = input() if line[:1]!='0': print(sum(map(int,line.split()))) else: break
那么,能不能不用while和if这些控制流语句,用纯函数式编程一句搞定呢?能.
(lambda f:f(f))((lambda f:(lambda line:(line[:1]!='0' and print(sum(map(int,line.split())))) or line[:1]=='0')(input()) or f(f)))
原型如下:
#函数1: lambda f : f(f) #函数2: lambda f : ... or f(f) #把函数2作为参数,调用函数1,就实现了无限循环: (lambda f:f(f))((lambda f: ... or f(f)))
这是用递归来模拟无限循环while 1."..."的位置放上你想无限执行的表达式即可.
lambda表达式的精妙之处在于,它的定义或者执行都是表达式.比如下面2个都是表达式:
lambda x:x (lambda x:x)(2)
相关文章推荐
- Python基础,基本类型(整型,浮点数等)数据结构(List,dic(Map),Set,Tuple),控制语句(if,for,while,continue or break):来自学习资料
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select .
- python学习笔记3—流程控制if、for、while
- Python的控制语句,(if,while,for)之if
- python学习小结2:if和while控制语句
- python 学习之流程控制if for while 及print 格式控制
- python教程13--《控制语句之 if、while、for》
- Python的简单条件控制(if、elif、while、for)
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- python学习小结2:if和while控制语句
- Python流程控制(if,for,while)
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
- Python3第3课-----编程入门(if、for,while、迭代器与生成器)
- python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
- linux shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select 学习笔记
- Python(四)之Python流程控制(if、while、for)
- python3之控制流程(if,while,for)
- shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select