python实例100例精选50例(基于python3.7,数据分析⽅向)
⽹上例⼦是基于2.7版的,花了⼀个周末挑选了⼀些⽐较有代表性的写成了3.7版,案例为夯实基础⽤的,为了避免⼤家做⽆⽤功,删除了那些鸡肋的案例
⽂章⽬录
分解质因数
def cal(n):
list=[]
if not isinstance(n,int)or n<=2:
return"not int or < 3"
flag =1
while flag:
for i in range(2,int(n+1)):
if n%i ==0:
list.append(i)
n/=i
if n==1:
flag =0
break
return list
print(cal(28))
⾼空抛物
题⽬ ⼀球从100⽶⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半;再落下,求它在第10次落地时,共经过多少⽶?第10次反弹多⾼?
def test(n):
base =10
sum=10
if n ==1:
return sum
for i in range(1,n):
伦勃朗的事迹base /=2
php文件用手机能打开吗sum+=base*2
return sum
print(test(3))
画菱形
def draw(num):
a="*"*(2*(4-num)+1)
(9,' '))
if num!=1:
draw(num-1)
(9,' '))#此句从最底层draw(1)到draw(4)执⾏
draw(4)
*
***
*****
*******
*****
***
*
斐波那契数列II
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。#⽅法⼀
def add(n):
if n ==1:
return2
系统进程elif n ==2:
return3
python基础代码100例return add(n-1)+add(n-2)
def add2(n):
if n ==1:
return1
elif n ==2:
return2
return add2(n-1)+add2(n-2)
sum=0
for i in range(1,21):
sum+= add(i)/add2(i)
print(sum)
#⽅法⼆
a =2.0
b =1.0
s =0
for n in range(1,21):
s += a / b
a,b = a + b,a
print(s)
阶乘求和
求1+2!+3!+…+20!的和。
def test(n):
if n ==1or n ==2:
return n
else:
return n*test(n-1)长整型怎么输出
sum=0
for i in range(1,21):
sum+= test(i)
print(sum)
递归求等差数列
def test(n):
if n ==1:
return10#递归的核⼼在于可以溯源,此类型的源就是 No.1 = 10
else:
return2+ test(n-1)#2是等差的差值
逆序打印
a ='testing'
print(a[::-1])#逆序打印
字母识词
请输⼊星期⼏的第⼀个字母来判断⼀下是星期⼏,如果第⼀个字母⼀样,则继续判断第⼆个字母。#下次⾃⼰写
列表转字符串
list=['b','c','d']
strs =''
c++源代码是什么print(strs.join(str(a)for a in list))#python 独有语法结构
作⽤域
在if-elif-else、for-else、while、try-except\try-finally等关键字的语句块中并不会产成作⽤域
if True:
var =100
print(var)
print('******')
print(var)#都是100
try except break练习
while True:
try:
n =float(input('请输⼊⼀个数字:'))
except:
print("输⼊异常")
continue
dn = n**2
if dn >50:
break
lambda表达式
lambda表达式⽀持有限逻辑的函数
g =lambda x:x+1#基础语法
print(g(2))
>>>>>###
g =lambda x,y:x+y+1#双变量
print(g(3,4))
>>>>>###
#lambda存在意义就是对简单函数的简洁表⽰
组成list的巧妙⽤法
print(list(i for i in range(10)))#直接⽤range(10) 会报错,必须单元素罗列
l =[1for i in range(n)]#可指定列表长度
filter函数
filter() 函数⽤于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第⼀个为函数,第⼆个为序列,序列的每个元素作为参数传递给函数进⾏判断,然后返回 True 或 False,最后将返回True 的元素放到新列表中。
def is_odd(n):
return n%2==1
l =list(i for i in range(10))
a =filter(is_odd,l)
for i in a:
print(i)
#⽅法⼆
l =list(i for i in range(10))
a =filter(lambda x:x%2==1,l)#简单函数可以⽤lambda表达式来实现
for i in a:
print(i)
#a = filter(lambda x:x%2,l) 这样写也对
#原因:返回值是0 python默认是false 也能过滤掉
三元运算
name ='wupeiqi'if1==1else'alex'#把if条件⼀改可以组成很简练的逻辑代码
map
遍历序列,对序列中每个元素进⾏操作,最终获取新的序列。
l =[1,2,3,4]
ll =list(map(lambda x:x+1,l))#⽤list把map对象转换为list对象
#区别filter filter是对列表筛选 map是加⼯处理
#进阶⽤法
list1 =[1,2,3,4]
list2 =[5,6,7,8]
b =list(map(lambda x,y:x+y, list1, list2))
print(b)对两个列表的元素⼀⼀对应相加
#[6, 8, 10, 12]
reduce
reduce 是对可迭代对象进⾏累计操作
from functools import reduce
l =list(i for i in range(10))
result =reduce(lambda x,y:x+y,l)
print(l,result)
list
aTuple =(123,'xyz','zara','abc');
aList =list(aTuple)#将元组转换为列表
#或者:
list(i for i in range(10))
random
import random
print(random.random())#0到1取随机浮点数
print(random.randint(2,20))# 2 到20取随机整数
print(random.uniform(10,20))# 10到20取随机浮点数
print(random.choice('test'))# 'test'取随机字母
print(random.choice([1,2,3,4]))#列表取随机元素
print(random.randrange(1,100,2))#1到99 步长为2 取随机数print(random.randrange(1,100))# 1到99取随机整数
a =list(i for i in range(10))
random.shuffle(a)#把a中元素打乱
print(a)
list 的extend or +
l =[]
ll =[1]
test = ll +[0]
print(test)
test = test +[0,1,2,3]#直接列表追加多个元素
print(test)
输出杨辉三⾓第n⾏
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
Python常用代码【100例】
« 上一篇
100个有趣的python算法实例
下一篇 »
发表评论