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. 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 ...

  2. Docker从入门到安装MySQL

    Docker 的简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  3. [Luogu3538][POI2012]OKR-A Horrible Poem

    luogu 题意 给出一个由小写英文字母组成的字符串\(S\),再给出\(q\)个询问,要求回答\(S\)某个子串的最短循环节. 如果字符串\(B\)是字符串\(A\)的循环节,那么\(A\)可以由\ ...

  4. LeetCode Delete Operation for Two Strings

    原题链接在这里:https://leetcode.com/problems/delete-operation-for-two-strings/description/ 题目: Given two wo ...

  5. 几个开源faas 框架

    funktion open source event based lambda programming for kubernetes 官方地址: funktion.fabric8.io serverl ...

  6. iis部署网页时应该避免的特殊端口

    1 tcpmux 7 echo 9 discard 11 systat 13 daytime 15 netstat 17 qotd 19 chargen 20 ftp data 21 ftp cont ...

  7. php与JAVA的RSA加密互通

    Java 版本RSA 进行加密解密 在网上查询了好几天,最终找到解决方案,网络上都是通过Cipher.getInstance("RSA"); 而改成Cipher.getInstan ...

  8. form表单中name和id区别

    HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链接等.HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需的信息,而主 ...

  9. SQL Server数据库优化经验总结

    优化数据库的注意事项: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert, ...

  10. HBuilder使用技巧

    ctrl+ Tab  切换 ctrl + shift + D 查找所写的函数