1.绘制正方形螺旋线
import turtle
turtle.setup(600,300,200,200)
turtle.pensize(1)
turtle.color('green')
i=0
while i<160:
turtle.seth(90)
turtle.fd(i+1)
turtle.seth(180)
turtle.fd(i+2)
turtle.seth(-90)
turtle.fd(i+3)
turtle.seth(0)
turtle.fd(i+4)
i=i+4
turtle.seth(90)
turtle.fd(161)
turtle.seth(180)
turtle.fd(162)
turtle.seth(-90)
turtle.fd(163)
2.绘制无角正方形
import turtle
def drawtriangle(angle):
turtle.seth(angle)
turtle.penup()
turtle.fd(20)
turtle.down()
turtle.fd(80)
turtle.penup()
turtle.fd(20)
turtle.down() turtle.setup(800,350) turtle.pensize(1)
turtle.pencolor("black")
for i in (0,90,180):
drawtriangle(i)
turtle.seth(-90)
turtle.penup()
turtle.fd(20)
turtle.down()
turtle.fd(80)
3.每周工作五天,休息2天,休息日水平下降0.01,工作日要努力到什么程度,一年后的水平才和每天努力1%取得的效果一样。
#函数编程的思想
#DayDayup
import math
def dayUp(df):
dayup=1.0
for i in range(365):
if i%7 in[6,0]:
dayup=dayup*(1-0.01)
else:
dayup=dayup*(1+df)
return dayup dayfactor=0.01
while(dayUp(dayfactor)<37.78):
dayfactor+=0.001 print("dayfactoris:{:.3f}.".format(dayfactor))
4.绘制进度条
1.多行累积不刷新(time.sleep延时输出)
#Textprogress bar
import time
print("-----执行开始-----")
scale=10
for i in range(scale+1):
c=(i/scale)*100
a,b="**"*i,".."*(scale-i)
print("%{:^3.0f}[{}>-{}]".format(c,a,b))
time.sleep(0.1)
print("-----执行开始-----")
2.单行刷新 print函数中添加参数end=''不换行 头部加入转义字符‘\r’把输出指针移到行首部 注:IDLE屏蔽单行刷新功能,需运行.py程序
#Textprogress bar
import time
print("-----执行开始-----")
scale=10
for i in range(scale+1):
c=(i/scale)*100
a,b="**"*i,".."*(scale-i)
print("\r%{:^3.0f}[{}>-{}]".format(c,a,b),end='')
time.sleep(0.1)
print("-----执行结束-----")
3.以上基础上增加运行的时间监控 time.clock()函数 第一次调用计时开始,第二次及后续调用返回与第一次记时的时间差
#Textprogress bar
import time
print("-----执行开始-----")
scale=10
t=time.clock()
for i in range(scale+1):
c=(i/scale)*100
t-=time.clock()
a,b="**"*i,".."*(scale-i)
print("\r%{:^3.0f}[{}>-{}]{:.2f}s".format(c,a,b,-t),end='')
time.sleep(1)
print("-----执行结束-----")
4.判断数字是否是回文数
a=eval(input("Enter a unmber:"))
b=a
t=0
while a!=0:
t=t*10+a%10
a=a//10
if b==t:
print("true")
else:
print("no")