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)
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")
Python学习--课本程序练习(周更)的更多相关文章
- python学习笔记4_类和更抽象
python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...
- Python 学习日记(第二周)
从这周开始我就正式学习Python 语言了.以后每周都会有一篇有关于学习Python的见闻与大家分享! Python的安装 学习的第一步首先要有一个运行的环境.所以接下来介绍一下安装的步骤. 通过Py ...
- Python学习之旅--第一周--初识Python
一:Python是一种什么样的语言? 1.语言的分类: a.编译型语言和解释性语言: 通常所说的计算机语言分为编译型和解释型语言.编译型语言典型的如C,C++,通常在程序执行之前必须经由编译器编译成机 ...
- Python学习之旅--第二周--元组、字符串、运算、字典
一.元组 另一种有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: # Author:Tim Gu tuple = (" ...
- Python学习笔记第十一周
目录: 1.RabbitMQ 2.Redis 内容: 1.RabbitMQ 实现简单的队列通信 send端 import pika credentials = pika.PlainCredent ...
- Python学习笔记第十周
目录: 一.基础概念 1.多进程 2.进程间通信 3.进程锁 4.进程池 5.协程 a) greenlet b) Gevent 6.论事件驱动与异步IO 7.IO多路复用 8.Python Selec ...
- Python学习笔记第八周
目录: 一.基础概念 1.动态导入模块 2.断言机制 3.SocketServer 二.作业 FTP服务器 三.单独注明 1.类中装饰器 2.进度条 一.基础概念 1.动态导入模块 有时在编程过程中, ...
- Python学习笔记第六周
目录 一.基础概念 面向对象编程 1.面向对象的几个核心特点 1.class类 2.object对象 3.encapsulation封装 4.inheritance继承 5.polymorphism多 ...
- Python学习笔记第五周
目录 一.基础概念 1.模块定义 2.包的定义 3.导入包的本质 4.导入模块的本质 5.导入方法 6.import的本质 7.导入优化 8.模块分类 9.标准库介绍 1.time与datetime ...
随机推荐
- SpringCloud的Hystrix(一) 一个消费者内的两个服务监控
一.概念与定义 1.服务雪崩 在微服务架构中,整个系统按业务拆分出一个个服务,这些服务之间可以相互调用(RPC),为了保证服务的高可用,单个服务通常会集群部署. 但是由于网络原因或自身原因,服务并不能 ...
- 阿里云API网关(10)服务网关业务流程
一.开放api 二.调用api 三.开发指南 四.其他 1.调试 2.测试 3.mock 4.发布 5.checklist
- zuul入门(2)zuul的过滤器分类和加载
一.Groovy编写的Filter 1.可以放到指定目录加载 创建一个pre类型的filter,在run方法中获取HttpServletRequest 然后答应header信息 在代码中加入groov ...
- git出现错误原因解释
原因,在pull下拉代码或者push之前,你本地还有代码没有进行commit. 引起下面的错误. 建议commit后先pull再看看有没有冲突在进行push. git.exe push --pro ...
- hive:数据库“行专列”操作---使用collect_set/collect_list/collect_all & row_number()over(partition by 分组字段 [order by 排序字段])
方案一:请参考<数据库“行专列”操作---使用row_number()over(partition by 分组字段 [order by 排序字段])>,该方案是sqlserver,orac ...
- Java-NIO(九):管道 (Pipe)
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 代码使用示例: @Test public vo ...
- urllib.request.Request
import urllib.request #可以将url先构造成一个Request对象,传进urlopen #Request存在的意义是便于在请求的时候传入一些信息,而urlopen则不 reque ...
- css水平垂直居中的方法与 vertical-align 的用法
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 1. 已知元素宽度 方法一:已知宽高,可以用position定位 + margin负值的方法 : 绝对定位 ...
- 00-翻译IdentityServer4的目的
强迫自己阅读英文文档 加深IdentityServer4的概念认识
- Java之GC
Java之GC GC:GC 是JVM的垃圾回收器.与C/C++不同,java程序员无需考虑太多内存分配的位置,更不用考虑内存释放的机制,java对象内存的申请和释放都有JVM托管.JVM的内存释放机制 ...