zoukankan      html  css  js  c++  java
  • Python学习--课本程序练习(周更)

    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)
    View Code

    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)
    View Code

     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))
    View Code

     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("-----执行开始-----")  
    View Code

    2.单行刷新       print函数中添加参数end=''不换行  头部加入转义字符‘ ’把输出指针移到行首部  注: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("
    %{:^3.0f}[{}>-{}]".format(c,a,b),end='')
        time.sleep(0.1)
    print("-----执行结束-----")    
                            
    View Code

     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("
    %{:^3.0f}[{}>-{}]{:.2f}s".format(c,a,b,-t),end='')
        time.sleep(1)
    print("-----执行结束-----") 
    View Code

     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")
    View Code
  • 相关阅读:
    Codeforces Round #485 (Div. 2) C题求三元组(思维)
    MongoDB设置访问权限、设置用户
    与MySQL交互(felixge/node-mysql)
    centos Supervisor
    Async详解之一:流程控制
    C# Socket连接请求超时机制
    tcp-client-c++
    C#TCPClient应用-一个简单的消息发送和接收
    centos下各种c++库文件的安装
    AngularJS与RequireJS集成方案
  • 原文地址:https://www.cnblogs.com/sunshine88/p/8343952.html
Copyright © 2011-2022 走看看