栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python小知识2Day

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python小知识2Day

关于函数

def a(i=2,b): #这个告诉我们定义函数形参默认值的时候,左边要是有了形参默认值,右边也要有   
#SyntaxError: non-default argument follows default argument


#杨辉三角
def f(t):
    print([1]) #第一行
    line=[1,1] 
    print(line) #第二行
    for i in range(2,t): #这个意思是你想打印几行
        r=[] #每一行开始都干成[]
        for j in range(0,len(line)-1): #这行里面要循环几次,这个(len(line)-1)记住就行
            r.append(line[j]+line[j+1]) #右上角还有上面的和
        line=[1]+r+[1] #把r列表俩边连接[1]
        print(line) #输出这一行
f(6)
#[1]
#[1, 1]
#[1, 2, 1]
#[1, 3, 3, 1]
#[1, 4, 6, 4, 1]
#[1, 5, 10, 10, 5, 1]

#把一个正偶数变成俩个素数的和
def IsPrime(p): #判断是不是素数
    if p==2:
        return True
    if p%2==0:
        return False
    for i in range(3,int(p**0.5)+1,2):
        if p%i==0:
            return False
    return True
def demo(n):
    if n>0 and n%2==0: #看输入的熟不熟偶数
        for i in range(2,n//2+1): #循环几次
            if IsPrime(i) and IsPrime(n-i):
                print(i,'+',n-i,'=',n)
demo(6)
#3 + 3 = 6

#字符串匹配,注意a是标准
def right(a,b):#进去俩字符串
    right=sum([1 for o,u in zip(a,b)if o==u])
    #zip把a,b俩摁在一起,再整个列表表达式(这货结果是[1,1,1...]),最后求和
    return right
s1='aaabbbccc'
s2='aabbbaccd'
right(s1,s2)
#6

def guess(maxvalue=10,maxtime=2):
    #设置一下下产生的最大随机数,还有你最多能猜几次
    value=randint(0,maxvalue)
    for i in range(maxtime):
        #第一次猜给你的提示和后面几次猜给的提示不一样
        p='Start to GUESS:'if i==0 else 'GUESS again:'
        x=int(input(p))
        #判断你猜的是大了还是小了
        if x==value:
            print('Good')
            break
        elif x>value:
            print('Big了')
        else:
            print('Small了')
    #for结束,你没猜对,菜鸡
    else:
        print('菜鸡')
        print('正确答案:',value)
guess()

# 实例
'''
Start to GUESS:6
Big了
GUESS again:5
Big了
菜鸡
正确答案: 3 
'''
#汉诺塔模拟
#可怕的是我不知道要是a柱子上有100个盘子,还能这样移动到c柱子上吗
#(a==>c)意思是把a柱子上的盘子移动到c柱子上
def hannoi(num,src,dst,temp=None): #num是几个盘子,src是你所在的柱子,dst目标柱子,temp临时柱子
    global times #全局变量
    if num==1: 就一直递归,直到num是1
        print('The {0} Time move:{1}==>{2}'.format(times,src,dst))
        times+=1 #
    else:
        h(n-1,src,temp,dst) #额,好吧,我不理解,呜呜呜
        h(1,src,dst)
        h(n-1,temp,dst,src)
times=1
hannoi(3,'a','c','b')
    

面向对象程序设计

类:就是把变量还有函数装到一个瓶子里,这些瓶子抽象一下就是类,具体的瓶子就是对象

正则表达式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号