一、优雅你的代码
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('\r进度:%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()