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

 

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

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

 

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();

 

 

 

 

   

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

posted @ 2018-04-02 08:41  寻渝记  阅读(4282)  评论(0编辑  收藏  举报