python用turtle输入数字_Python02 标准输入输出、数据类型、变量、随记数的生成、turtle模块详解...

1 标准输出

python3利用print() 来实现标准输出

def print(self, *args, sep=' ', end='\n', file=None): #known special case of print

"""print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream."""

pass

1.1 输出字符串

在 sprint() 的括号中加上字符串就可以在控制台输出指定的文字,比如输出 “Hello Boy” 的实现代码如下

print("Hello Boy")

1.2 输出多个字符串

print() 函数可以接收多个字符串,各个字符串之间用逗号进行隔开,在输出时逗号不会输出而是用空格代替

print("Hello", "Boy", "Good", "World")

技巧01:print() 可以接收多个字符串的原理是print() 方法可以接收任意多个参数,这一点从源码中可以看出;详情请参见方法的形参部分知识点

技巧02:遇到逗号用空格代替的原因是print()方法有一个默认参数 seq ,该参数的作用就是作为多个输出值的分隔符,其默认值就是空格

1.3 输出整数或者计算结果

输出整数时直接会将整数进行输出,输出计算结果时会对数学表达式进行计算后再将结果进行输出

1.4 输出多个变量

print() 方法也可以接收多个变量进行输出,各个变量之间利用逗号进行分隔

1.5 结束符

print() 方法默认的结束符时换行符,这一点从源码中可以看出

1.5.1 默认结束符的效果

1.5.2 自定义结束符的效果

2 标准输入

python3提供的input()方法可以让用户输入一个字符串,并存放到一个变量中去;print()方法可以在括号中添加提示信息,这些提示信息会被输出到控制台

def input(*args, **kwargs): #real signature unknown

"""Read a string from standard input. The trailing newline is stripped.

The prompt string, if given, is printed to standard output without a

trailing newline before reading input.

If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.

On *nix systems, readline is used if available."""

pass

2.1 输入字符串

2.2 输入类型

利用input()输入的数据都是字符串类型的数据

坑01:利用input()输入的任何数据都是字符串类型的数据,如果想利用输入的数据进行一些数学运算就必须进行类型转换

2.2.1 input()实战

需求:用户根据提示信息提供圆的半径和圆周率的取值,系统自动输出直径、圆周、面积等信息

坑01:在进行数学计算之前如果不对数据进行类型转化就会报类型错误

radius = input("请输入半径:\n")

PI= input("请输入圆周率的取值:\n")

diameter= float(radius) * 2area= float(PI) * float(radius) *float(radius)

perimeter= float(PI) *diameterprint("直径为:", diameter, ";周长为:", perimeter, "; 面积为:", area)

View Code

3 数据类型

在程序中不同的数据需要定义不同的数据类型

3.1 整型

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。

技巧01:利用print()方法输出十六进制的数时输出的是转化成了十进制的数

3.2 浮点型

浮点数也就是小数;浮点数可以用数学写法,如1.23,3.14,-9.01;但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

3.3 字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识。

3.3.1 多行字符串

\n 这个转义字符代表换行,为了简化,Python允许用'''...'''的格式表示多行内容

3.4 布尔型

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。

3.5 空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

3.6 其他类型

列表、字典等多种数据类型,还允许创建自定义数据类型(即:对象)

待更新......2018-3-20 10:25:44

4 变量

变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句为:String name = new String("warrior");

因为python是动态语言,所以一个变量的类型取决于该变量的指向,如果该变量的指向的东西的类型发生了变化,那么该变量的类型也会发生变化

4.1 变量在内存中的表示

技巧01:在python中一切都是对象,所以python中变量存储的都是地址信息而不是数据值;变量的值就是变量指向数据的地址信息

name = "warrior"

4.1.1 python解释器会根据上面的代码做两件事

》在内存中创建一个“warrior”字符串

》在内存中创建一个名为name的变量,而且该变量指向“warrior”

4.1.2 变量之间的赋值

坑01:这里并不是将name01的值赋值给了name02,而是name02指向name01指向的数据

技巧01:因为name01和name02都指向同一个字符串"warrior",所以name01和name02的内容都是字符串"warrior"在内存中的地址信息(备注:因为name01和哪么02都指向了同一个字符串,所以他们的内存地址是一样的,他们的值也是一样的)

解释:

python解释器在遇到 name02 = name01 这行代码时执行的操作

》在内存中创建一个名为name02变量

》让name02变量指向name01所指向的内容(理解:name01和name02中存放的不是数据,而实数据对应的地址信息,name02 = name01实际上是将name01中存放的地址信息赋值给了name02)

解释:

python解释器在遇到 name02 = “fury” 这行代码时执行的操作

》改变name02的指向,即:改变name02中存放的地址信息值

技巧01:变量的指向发生变化后,变量的值以及变量的地址都会发生变化

技巧02:变量的值就是变量指向数据的地址信息

name01 = "warrior"name02=name01print("name01指向的值为:",name01,"-----", "name02指向的值为:",name02)print("name01变量的地址信息为:", id(name01),"-----", "name02变量的地址信息为:", id(name02))print(name01 isname02)print(name01 ==name02)

name01= "fury"

print("name01指向的值为:",name01,"-----", "name02指向的值为:",name02)print("name01变量的地址信息为:", id(name01),"-----", "name02变量的地址信息为:", id(name02))print(name01 isname02)print(name01 == name02)

View Code

5 随机数

python自带的random模块可以用来生成随机数

5.1 猜数字游戏

5.1.1 需求

随机产生一个数字同用户输入的数字进行比较,知道猜中为止

5.1.2 代码实现

importrandom

randomNum= random.randint(0,10)

inputNum= input("请输入一个0到10之间的整数:")

judge=Truewhile(judge):if (randomNum !=int(inputNum)):if (randomNum

inputNum= input("大啦,请在输入一个0到10之间的整数:")if (randomNum >int(inputNum)):

inputNum= input("小啦,请在输入一个0到10之间的整数:")else:print("恭喜你,才对啦!")

judge= False

View Code

5.1.3 改进

规定输入次数、设定随记数范围

6 turtle模块

6.1 命令介绍

6.1.1 运动命令

forward(d) -> 向前移动d个像素点

backward(d) -> 向后移动d个像素点

right(dgree) -> 向右转动dgree度

left(dgree) -> 向左转动dgree度

goto(x, y) -> 光标移动到(x, y)处

speed(apeed) -> 设定画笔的速度,速度值为[0, 10]之间的整数

6.1.2 画笔控制命令

down() -> 画笔落下,即:开始画图

up() -> 画笔抬起,即:停止画图

技巧01:goto(x,y) 之前一般需要执行up(),goto(x, y)之后一般需要执行down()

pensize(width) -> 设置画笔的宽度的像素值

pencolor(color) -> 设置画笔的宽度

fillcolor(color) -> 设置填充颜色

技巧02:fillcolor(color)通常需要和 begin_fill() 和 end_fill() 配合使用

begin_fill() -> 开始填充颜色

end_fill() -> 结束填充颜色

6.1.3 特殊指令

turtle.mainloop() -> 画图结束后静止(注:其实是一直在重复画,只是给我们个感觉是静止而已)

6.2 练习

6.2.1 画正三角形

#画三角形

importturtle

t=turtle.Pen()

t.fillcolor("blue")

t.pencolor("red")

t.pensize(4)

t.begin_fill()

t.forward(60)

t.left(120)

t.forward(60)

t.left(120)

t.forward(60)

t.end_fill()

turtle.mainloop()

View Code

6.2.2 画奥运五环

#话奥运五环

importturtle

t=turtle.Pen()

t.pensize(4)

t.pencolor("blue")

t.circle(30)

t.up()

t.goto(70, 0)

t.down()

t.pencolor("black")

t.circle(30)

t.up()

t.goto(140, 0)

t.down()

t.pencolor("red")

t.circle(30)

t.up()

t.goto(35, -35)

t.down()

t.pencolor("yellow")

t.circle(30)

t.up()

t.goto(105, -35)

t.down()

t.pencolor("green")

t.circle(30)

turtle.mainloop()

View Code

6.2.3 利用循环画

importturtle#同时设置pencolor=color1, fillcolor=color2

turtle.color("red", "yellow")

turtle.begin_fill()for i in range(50):

turtle.forward(200)

turtle.left(170)

turtle.end_fill()

turtle.mainloop()

View Code

6.2.4 画五角星

importturtle

t=turtle.Pen()

t.pencolor("yellow")

t.fillcolor("red")

t.pensize(4)

t.begin_fill()for i in range(5):

t.forward(100)

t.right(144)

t.end_fill()

turtle.mainloop()

View Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值