1 range() 方法的使用

  1.1 range方法介绍

    range方法会返回一个range类型的对象,该对象会根据range方法的参数产生一些列整型数据

    技巧01:range方法有三个参数,第一个参数是开始值,第二个参数是结束值,第三个参数是补偿值

    坑01:range方法默认开始值为0,步长值为1

range(stop) -> range object

    只提供一个结束值时,range方法会默认从0开始,而且步长为1;产生的数据不会包含结束值

range(start, stop[, step]) -> range object

    提供初始值和结束值时,range方法会从初始值开始,步长任然为1;产生的数据不会包含结束值

  1.2 示例代码

lis01 = list(range(4))
print(lis01)
print(type(range(4)))
print("分割线".center(30, "=")) lis02 = list(range(4, 7))
print(lis02)
print("分割线".center(30, "=")) lis03 = list(range(8, 20, 2))
print(lis03)

  1.3 利用range和循环画圆

    1.3.1 需求

      

    1.3.2 源码

import turtle

t = turtle.Pen()
t.pensize(4) for i in range(4):
t.circle(100)
t.left(90) turtle.mainloop()

    1.3.3 如何更改每个圆圈的颜色

      

# 利用循环画圆
import turtle t = turtle.Pen()
t.pensize(4) colorList = ["blue", "red", "green", "yellow"]; for i in range(4):
t.pencolor(colorList[(i)%4])
t.circle(50)
t.left(90) turtle.mainloop()

  1.4 利用range生成列表

    1.4.1 传统方式

      坑01:range方法产生的数据类型是range类型的,如果要将range产生的数据赋值给一个列表对象,就必须进行类型转换

      

      提高:将range生成的数据经过加工过后再赋值给列表对象

lis = list(range(1, 11))
lis02 = list()
print(lis)
print(id(lis02)) for i in range(lis.__len__()):
lis02.append(lis[i]**2) print(lis02)
print(id(lis02)) print(min(lis02))
print(max(lis02))
print(sum(lis02))

    1.4.2 列表解析方式

      

2 turtle.textinput()方法和write()方法

  2.1 textinput 简单介绍

    textinput 方法主要为用户提供一个输入窗口,下面一行代码的展现效果就如图所示

your_name = turtle.textinput("Input your name", "What is your name?")

    

  2.2 write简单介绍

    write 方法是 turtle.Pen 对象的方法

def write(self, arg, move=False, align="left", font=("Arial", 8, "normal")
    arg -> 需要打印的参数
    move -> 打印下一个时是否需要移动,默认是不移动的
    align -> 打印文本的排版效果,默认是左对齐
    font -> 打印文本的字体,第一个代表字体类型,第二个代表字体大小,第三个表示字体修饰(正常、加粗、倾斜等)

  2.3 textinput 和 write 综合应用

    2.3.1 效果展示

      

    2.3.2 源码

import turtle
t = turtle.Pen() turtle.bgcolor("black")
colorList = ['red', 'blue', 'green', 'yellow'] your_name = turtle.textinput("Input your name", "What is your name?") for x in range(100):
t.pencolor(colorList[x % 4])
t.penup()
t.forward(x * 4)
t.pendown()
t.write(your_name, font = ("Arial", int((x + 4) / 4), "bold"))
t.left(90) turtle.mainloop()

3 turtle.numinput 方法

  3.1 简单介绍

    numinput是turtle提供的供用户输入浮点型数字的地方

    坑01:通过numinput录入的数据是浮点型数据

  3.2 numinput使用

    3.2.1 需求

      

    3.2.2 源代码

# 循环次数由用户控制
import turtle t = turtle.Pen()
t.pencolor("red") number = int(turtle.numinput("循环次数", "请输入循环次数", 10)) for i in range(number):
t.circle(30)
t.left(360/number) turtle.mainloop()

  3.3 拓展

    3.3.1 需求

      

    3.3.2 源代码

import turtle

t = turtle.Pen()
color_list01 = ["blue", "green"]
color_list02 = ["red", "skyblue"] for i in range(10):
t.pencolor(color_list01[i % 2])
t.circle(10)
t.left(360/10)
for i in range(20):
t.pencolor(color_list02[i % 2])
t.circle(20)
t.left(360/20) turtle.mainloop();

   

    

    

Python04 range()方法的使用、turtle.textinput()方法和write()的使用、turtle.numinput()的使用的更多相关文章

  1. Server.Transfer方法,Server.Execute方法和Response.Redirect方法有什么异同

    (1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页 ...

  2. 为什么要重写hashcode方法和equals方法

    我们可能经常听到说重写equals方法必须重写hashcode方法,这是为什么呢?java中所有的类都是Object的子类,直接上object源码 /* * Copyright (c) 1994, 2 ...

  3. ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法

    原文 Examining the Details and Delete methods 作者 Rick Anderson 翻译 谢炀(Kiler) 校对 许登洋(Seay).姚阿勇(Mr.Yao) 打 ...

  4. Spark Rdd coalesce()方法和repartition()方法

    在Spark的Rdd中,Rdd是分区的. 有时候需要重新设置Rdd的分区数量,比如Rdd的分区中,Rdd分区比较多,但是每个Rdd的数据量比较小,需要设置一个比较合理的分区.或者需要把Rdd的分区数量 ...

  5. ThinkPHP的D方法和M方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

  6. Hibernate中evict方法和clear方法说明

    Hibernate中evict方法和clear方法说明 先创建一个对象,然后调用session.save方法,然后调用evict方法把该对象清除出缓存,最后提交事务.结果报错: Exception i ...

  7. jQuery.extend()方法和jQuery.fn.extend()方法源码分析

    这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例,对于基本用法举几个例子: html代码如下: <!doctype html> ...

  8. Android HTTP实例 使用GET方法和POST方法发送请求

    Android HTTP实例 使用GET方法和POST方法发送请求 Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息 ...

  9. virtual方法和abstract方法

    在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Virtual方法(虚方法) virtual ...

随机推荐

  1. (三)canvas绘制样式

    beginPath() 对画线点的一个开始限制 moveTo() 画线的起点,只在开头使用 参数两个x轴,y轴 lineTo() 后续连线 两个参数x轴,y轴 stroke() 连线无填充 fill( ...

  2. 【转】程序员应该了解的——除了coding我们还有很多事要做

    from : http://www.cnblogs.com/lingyun1120/archive/2011/10/09/2203306.html try { if (you.believe(it) ...

  3. 【常用软件】木木的常用软件点评(2)------VC程序员常用工具篇

     摘自:http://blog.csdn.net/liquanhai/article/details/7215045 木木的常用软件点评(2)------VC程序员常用工具篇 分类: VC++经验总结 ...

  4. K-means聚类分析MATLAB代码

    function kmeans load q1x.dat; a1=round(98*rand+1); a2=round(98*rand+1); miao1=[q1x(a1,1),q1x(a1,2)]; ...

  5. hibernate的级联(hibernate注解的CascadeType属性)

    [自己项目遇到的问题]: 新增  删除都可以实现 ,就是修改的时候无法同步更新设计三个类:  问题类scask  正文内容类text类    查看数+回复数+讨论数的runinfo类 [正文类和查看数 ...

  6. openfaas 私有镜像配置

    备注: 此项目是使用nodejs  生成唯一id 的\ 预备环境 docker harbor faas-cli openfaas k8s 1. 项目初始化 faas-cli new node --la ...

  7. AES前后加密算法代码

    首先下载aes.js加密工具类: 本文采用的是 AES/ECB/PKCS5Padding的加密方式进行加密的: js加密写法如下: <!DOCTYPE html> <html lan ...

  8. Dell 12G服务器 手动安装RedHat 6.X

    12代服务器,是DELL目前最新产品,有R720,R520,R620,R420,M420 等产品 以下是光盘直接安装Red Hat 6.X 的方法步骤: 1,选择安装盘对应的启动设备 开机按F11,选 ...

  9. oscache使用经历

    oscache作为一款老的本地缓存,应用场景主要有页面缓存和对象缓存.这里拿在maven项目中使用oscache作为对象缓存举例说明下用法: 1.导入jar包 <dependency> & ...

  10. Linux 安装交叉编译工具链

    交叉编译工具链下载地址: 链接:http://pan.baidu.com/s/1dE7P9rb 密码:300i 声明:下面每一步中的“pwd”指令都是为了看清楚当前的目录,没有其他实际意义. 系统:u ...