Python04 range()方法的使用、turtle.textinput()方法和write()的使用、turtle.numinput()的使用
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()的使用的更多相关文章
- Server.Transfer方法,Server.Execute方法和Response.Redirect方法有什么异同
(1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页 ...
- 为什么要重写hashcode方法和equals方法
我们可能经常听到说重写equals方法必须重写hashcode方法,这是为什么呢?java中所有的类都是Object的子类,直接上object源码 /* * Copyright (c) 1994, 2 ...
- ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
原文 Examining the Details and Delete methods 作者 Rick Anderson 翻译 谢炀(Kiler) 校对 许登洋(Seay).姚阿勇(Mr.Yao) 打 ...
- Spark Rdd coalesce()方法和repartition()方法
在Spark的Rdd中,Rdd是分区的. 有时候需要重新设置Rdd的分区数量,比如Rdd的分区中,Rdd分区比较多,但是每个Rdd的数据量比较小,需要设置一个比较合理的分区.或者需要把Rdd的分区数量 ...
- ThinkPHP的D方法和M方法的区别
M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...
- Hibernate中evict方法和clear方法说明
Hibernate中evict方法和clear方法说明 先创建一个对象,然后调用session.save方法,然后调用evict方法把该对象清除出缓存,最后提交事务.结果报错: Exception i ...
- jQuery.extend()方法和jQuery.fn.extend()方法源码分析
这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例,对于基本用法举几个例子: html代码如下: <!doctype html> ...
- Android HTTP实例 使用GET方法和POST方法发送请求
Android HTTP实例 使用GET方法和POST方法发送请求 Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息 ...
- virtual方法和abstract方法
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别.二者都牵涉到在派生类中与override的配合使用. 一.Virtual方法(虚方法) virtual ...
随机推荐
- CodeForces - 662A:Gambling Nim (求有多少个子集其异或为S)(占位)
As you know, the game of "Nim" is played with n piles of stones, where the i-th pile initi ...
- Docker从入门到安装MySQL
Docker 的简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...
- [Luogu3538][POI2012]OKR-A Horrible Poem
luogu 题意 给出一个由小写英文字母组成的字符串\(S\),再给出\(q\)个询问,要求回答\(S\)某个子串的最短循环节. 如果字符串\(B\)是字符串\(A\)的循环节,那么\(A\)可以由\ ...
- LeetCode Delete Operation for Two Strings
原题链接在这里:https://leetcode.com/problems/delete-operation-for-two-strings/description/ 题目: Given two wo ...
- 几个开源faas 框架
funktion open source event based lambda programming for kubernetes 官方地址: funktion.fabric8.io serverl ...
- iis部署网页时应该避免的特殊端口
1 tcpmux 7 echo 9 discard 11 systat 13 daytime 15 netstat 17 qotd 19 chargen 20 ftp data 21 ftp cont ...
- php与JAVA的RSA加密互通
Java 版本RSA 进行加密解密 在网上查询了好几天,最终找到解决方案,网络上都是通过Cipher.getInstance("RSA"); 而改成Cipher.getInstan ...
- form表单中name和id区别
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链接等.HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需的信息,而主 ...
- SQL Server数据库优化经验总结
优化数据库的注意事项: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert, ...
- HBuilder使用技巧
ctrl+ Tab 切换 ctrl + shift + D 查找所写的函数