博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python程序员的进化史
阅读量:5248 次
发布时间:2019-06-14

本文共 1062 字,大约阅读时间需要 3 分钟。

各种程序员所写的阶乘算法代码

# -*- coding: utf-8 -*-#新手程序员(递归)def factorial(x):  if  x == 0:     return 1  else:     return x * factorial(x - 1)print factorial(6)#有一年 Python 经验的程序员def Factorial(x):  res = 1  for i in xrange(2, x + 1):    res *= i        return resprint Factorial(6)#懒惰的 Python 程序员def fact(x):  return x > 1 and x * fact(x - 1) or 1print fact(6)#更懒惰的 Python 程序员f = lambda x: x and x * f(x - 1) or 1print f(6)#专家级 Python 程序员import operator as opimport functional as ffact = lambda x:  f.foldl(op.mul,  1,  xrange(2, x + 1))print fact(6)#Python 黑客import sysdef fact(x,  acc = 1):  if x:  return  fact(x.__sub__(1), acc.mul__(x))  return accsys.stdout.write(str(fact(6))  +  '\n')#专家级程序员imort c_mathfact = c_math.factprint fact(6)#有一年 C 经验的程序员def fact(x):  result = i = 1;  while (i <= x):    result *= i;    i += 1;  return result;print(fact(6))

 

 

 

本人是一名 Python 新手 ,在网上看到这篇文章觉得很有趣, 所以想在博客园重写一遍。

一方面提升下自己的 Python水平 , 另一方面也可以与更多的 Python 爱好者 学习 分享。

人生苦短  我用Python  QAQ

这里是更为完整的原文地址:  http://python.jobbole.com/15005/

 

转载于:https://www.cnblogs.com/xautxuqiang/p/4362074.html

你可能感兴趣的文章
Leetcode 92. Reverse Linked List II
查看>>
windown快速安装xgboost
查看>>
Lombok插件
查看>>
Linux上安装Libssh2
查看>>
九.python面向对象(双下方法内置方法)
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
Hibernate的实体类为什么需要实现 java.io.Serializable 接口
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
linux sed命令
查看>>
LeetCode 160. Intersection of Two Linked Lists
查看>>
html标签的嵌套规则
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>