使用 python 写出诗一样的代码 (二)
1、回文
回文是一个数字或字符串,当它被反转时看起来是一样的。
text = 'level'
ispalindrome = text == text[::-1]
ispalindrome
> True
2、用空格分隔的整数到一个列表
lis = list(map(int, input().split()))
print(lis)
> 1 2 3 4 5 6 7 8
[1, 2, 3, 4, 5, 6, 7, 8]
3、Lambda 函数
lambda 函数是一个小型匿名函数。lambda 函数可以接受任意数量的参数,但只能有一个表达式。
# Function that returns square of any number
sqr = lambda x: x * x
sqr(10)
> 100
4、检查列表中数字的存在
num = 5
if num in [1,2,3,4,5]:
print('present')
> present
5、打印图案
在 Python 中,我们只需要一行代码就可以绘制出令人惊叹的图案。
n = 5
print('\n'.join('😀' * i for i in range(1, n + 1)))
>
😀
😀😀
😀😀😀
😀😀😀😀
😀😀😀😀😀
6、查找阶乘
阶乘是一个整数和它下面所有整数的乘积。
import math
n = 6
math.factorial(n)
> 720
7、斐波纳契数列
一组数字,其中每个数字 (斐波那契数) 是前面两个数字的和。最简单的斐波那契数列 1,1,2,3,5,8,13 等等。可以使用列表推导式和 for 循环在一个范围内创建斐波那契数列。
fibo = [0,1]
[fibo.append(fibo[-2]+fibo[-1]) for i in range(5)]
fibo
> [0, 1, 1, 2, 3, 5, 8]
8、质数
质数是一个只能被自身和 1 整除的数。例如:2、3、5、7 等。为了在一个范围内生成质数,我们可以使用带有 filter 和 lambda 的 list 函数来生成质数。
list(filter(lambda x:all(x % y != 0 for y in range(2, x)), range(2, 13)))
> [2, 3, 5, 7, 11]
9、查找最大数值
findmax = lambda x,y: x if x > y else y
findmax(5,14)
> 14
or
max(5,14)
在上面的代码中,我们使用 lambda 函数检查比较条件,并根据返回的最大值。
或者使用 max() 内置函数。
10、线性代数
有时候我们需要将列表中的元素缩放 2 到 5 倍。下面的代码解释了如何做到这一点。
def scale(lst, x):
return [i*x for i in lst]
scale([2,3,4], 2)
> [4,6,8]
好像第二个没明白