zoukankan      html  css  js  c++  java
  • 优雅你的python代码

    一、优雅你的代码

    1、为多个变量赋值

    普通方法:

    a = 1
    b = 2
    c = 3

    优雅方法:

    a,b,c = 1,2,3

    2、序列解包

    普通方法:

    ls = ['小温', 18, 'male','貌美如花']
    name = ls[0]
    age = ls[1]
    gender = ls[2]
    mark = ls[3]

    优雅方法:

    ls = ['小温', 18, 'male','貌美如花']
    name, age, gender,mark= ls

    3、判断语句

     普通方法:

    x = -1
    if x >=0:
        y = x
    else:
        y = -x
    print(y)

    优雅方法:

    x = -1
    y = x if x>=0 else -x

    print(y)

     4、判断是否为多个取值之一

    普通方法:

    usr_inp = input(">>>:")
    if usr_inp=='a' or usr_inp=='b' or usr_inp=='c':
        print(True)
    else:
        print(False)

     优雅方法:

    usr_inp = input(">>>:")
    if usr_inp in ('a','b','c'):
        print(True)
    else:
        print(False)

    优雅方法进阶版:

    usr_inp = input(">>>:")
    print(True if usr_inp in ('a','b','c') else False)

    终极版:

    print(True if input(">>>:") in ('a','b','c') else False)

    5、判断是否为非空

    普通方法:

    l=[[1,2,3],{},'']
    for i in l:
        print(True if len(i)>0 else False)

    优雅方法:

    l=[[1,2,3],{},'']
    for i in l:
        print(True if i else False)

     6、判断诸多条件是否有一个成立

    普通方法:

    math,english,yw = 70,22,80
    if math<60 or english<60 or yw <60:
        print("挂科")

    优雅方法:

    math,english,yw = 70,22,80
    if any([math<60,english<60 ,yw <60]):
        print("挂科")

    7、判断诸多条件是否都成立

    普通方法:

    math,english,yw = 70,60,80
    if math>=60 and english>=60 and yw>=80:
        print("pass")

    优雅方法:

    math,english,yw = 70,60,80
    if all((math>=60,english>=60,yw>=80)):
        print("pass")

    8、优雅你的循环

    import time
    for i in range(10):
        time.sleep(0.5)
        pass
        print('
    进度:%s'%((i+1)*10),end='')

    二、爱心树代码

    #-*-encoding=utf-8-*-
    import turtle,random,os
    def love(x, y):  # 在(x,y)处画爱心lalala
        lv = turtle.Turtle()
        lv.hideturtle()
        lv.up()
        lv.goto(x, y)  # 定位到(x,y)
    
        def curvemove():  # 画圆弧
            for i in range(20):
                lv.right(10)
                lv.forward(2)
    
        lv.color('red', 'pink')
        lv.speed(10000000)
        lv.pensize(1)
        # 开始画爱心lalala
        lv.down()
        lv.begin_fill()
        lv.left(140)
        lv.forward(22)
        curvemove()
        lv.left(120)
        curvemove()
        lv.forward(22)
        lv.write("阿花", font=("Arial", 12, "normal"), align="center")  # 写上表白的人的名字
        lv.left(140)  # 画完复位
        lv.end_fill()
    
    
    def tree(branchLen, t):
        if branchLen > 5:  # 剩余树枝太少要结束递归
            if branchLen < 20:  # 如果树枝剩余长度较短则变绿
                t.color("green")
                t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
                t.down()
                t.forward(branchLen)
                love(t.xcor(), t.ycor())  # 传输现在turtle的坐标
                t.up()
                t.backward(branchLen)
                t.color("brown")
                return
            t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
            t.down()
            t.forward(branchLen)
            # 以下递归
            ang = random.uniform(15, 45)
            t.right(ang)
            tree(branchLen - random.uniform(12, 16), t)  # 随机决定减小长度
            t.left(2 * ang)
            tree(branchLen - random.uniform(12, 16), t)  # 随机决定减小长度
            t.right(ang)
            t.up()
            t.backward(branchLen)
    
    
    myWin = turtle.Screen()
    myWin.title('阿花我爱你')
    t = turtle.Turtle()
    winsound.PlaySound(__music,winsound.SND_ASYNC)
    t.hideturtle()
    t.speed(1000)
    t.left(90)
    t.up()
    t.backward(200)
    t.down()
    t.color("brown")
    t.pensize(32)
    t.forward(60)
    tree(100, t)
    myWin.exitonclick()
    View Code
  • 相关阅读:
    实习项目1.
    try catch finally的用法
    asp.net 验证控件
    数据库操作语言
    webform Response的一些成员
    jQuery
    C#@的用法
    SQL分页查询
    抽象类与接口的区别
    抽象类与接口
  • 原文地址:https://www.cnblogs.com/linshuhui/p/9562966.html
Copyright © 2011-2022 走看看