pythonipo模式不包括_MOOC-U《Python语言程序设计》week2

2.1 语法元素入门

程序元素

注释、缩进、变量、常量、表达式、输入、输出、分支、循环

温度转换程序

代码块在chap1中已经包含了。

缩进:一个缩进=4个空格

注释:单行是#,多行 是上下两行```

常量和变量:在Python中常和变量的使用是没有区别的。

命名:首字母不能用数字和空格,中文和非字母符号,也可以作为名字。

常量、变量和命名:标识符对大小写不敏感,不能与保留字相同。

Python3保留字列表是33个:

and\as\assert\break\class\continue\def\del\elif\else\except\finally\for\form\global\if\import\in\is\lambda\nonlocal\not\or\pass\raise\return\try\while\with\yield\Ture\False\None

表达式:程序中产生货计算新数据值的一行代码。

例如,x=25 #将数字25赋值给变量x#,使用变量前必须对其赋值。

表达式中空格的使用:增加空格可以增加程序的可读性,但是不能改变缩进,不能将命名分割。

输入函数:=input(),从控制台获得用户输入。>>> input_string= input("请输入:")

表达式:

字符串操作——操作符可以将两个字符串链接起来:

>>> "python"+"is good" = 'python is good'

字符串可以理解为字节序列,若长度为L,第一个字节索引为0或-L,最后一个字节索引为L-1或-1.???——没看懂。

例子:>>> tIndex="python" >>>tIndex[4] 答案是‘o’,>>> tIndex[-4] 答案是‘t’

以区间形式获得字符串的子串:

>>> tIndex[1:-2] 答案是:'yth'

想:从左边到右,顺序为0➡️1➡️2➡️3;从右往左,顺序为-1 ➡️-2➡️ -3

表达式:

如果 val="28C",则val[-1]是最后一个字符串“C”。前两个字符组成的子串可以用val[0:2]表示,它表示一个从[0,2)的区间。问:如何表达包含2的这个表达式呢?val[0:3]?

搞不清楚为啥表达式里右侧是闭区间,却表达了右侧的一个不包含的开区间。???如果要取全部咋办呢?

分支语句:

if :

elif

……

else:

赋值语句:用等号给变量赋值。

f= 1.8*float(input_str[0:-1])+32

同步赋值语句:同时给多个变量赋值(先运算右侧N个表达式,然后同事将表达式结果赋给左侧)

,……,=,……,

- 输出函数: print() 可以输出字符和各种类型变量的值,同时通过%来选择要输出的变量。

- 循环语句:

for i in range():

连续运行10次

for i in range(10):

其中变量i用于计数

1.2程序编写模版PPT

从IPO模式角度理解程序

此处有个代码块

#TempConvert.py #py3温度转换#测试通过

val = input ("请输入带温度表示符号的温度值,(例如:32C):")

if val[-1] in ['C','c']:

f= 1.8 * float(val[0:-1])+32

print ("转换后的温度为:%.2fF"%f) #为啥这里要用这种表达?

elif val[-1] in ['F','f']:

c=(float(val[0:-1])-32)/1.8

print ("转换后的温度为:%.2fC"%c)

else:

print("输入有误")

input-print 模版

用户输入:input()获得输入

运算部分:根据算法实现

结果输出:print()输出结果

initial-print 模版

初始变量:运算需要的初始值

运算部分:根据算法实现

结果输出:print()输出结果

-#程序编写模版

任何输入输出类型的组合都可以看成“模版”,例如,input输入-文件write输出。

2.2 蟒蛇绘制程序

#Snake.py 该程序已经通过调试可用。

import turtle

def drawSnake(rad,angle,len,neckrad):#!debug:neckrad report sth wrong。这里注意“:和()”都是英文格式的才好,中文格式报错。

for i in range(len):

turtle.circle(rad,angle)

turtle.circle(-rad,angle)

turtle.circle(rad,angle/2)

turtle.fd(fd)

turtle.circle(neckrad+1,180)

turtle.fd(rad*2/3)

def main():

turtle.setup(1300,800,0,0)#turtle.setup(width,height,startx,starty)

pythonsize = 30

turtle.pensize(pythonsize)

turtle.pencolor("blue")

turtle.seth(-40)#turtle.seth(angle),StandardMode:0 is to east in the right hand,90 is to north in upword.LogoMode:0 to north,90 to east.

drawSnake(40,80,5,pythonsize/2)

main ()

Turtle库:一个小乌龟在(0,0)点开始平面坐标系里运动。

Python蟒蛇绘制实例

Python语法元素: import引入外部库

-def定义函数:def用于定义函数。这里定义了两个函数drawSnake和main.

函数,所谓函数就是一组代码表达一个功能,函数名就是这段代码的名字。需要被调用才能执行。

程序运行:

def语句定义的函数存在缩进关系,def后连续缩进,def定义的函数需要执行,用main()。

运行main()——后执行turtle.setup()和drawSnake()

蟒蛇程序代码复现

#Snake.py

import turtle

def drawSnake(rad,angle,len,neckrad):#!debug:注意的是程序的符号一定是英文的,否则容易处错误。

for i in range(len):

turtle.circle(rad,angle)#circle()函数让小乌龟沿着一个圆形爬行,参数rad描述了轨迹半径的位置,这个半径在小乌龟运行的左侧rad远位置处,如果rad为负值,则半径在小乌龟运行的右侧。参数angle表示小乌龟沿着圆形爬行的弧度值。

turtle.circle(-rad,angle)

turtle.circle(rad,angle/2)

turtle.fd(fd)# 也可以用turtle.forward()表示乌龟向前直线爬行移动。表示小乌龟向前直线爬行移动,他有一个参数表示爬行距离。

turtle.circle(neckrad+1,180)

turtle.fd(rad*2/3)

def main():

turtle.setup(1300,800,0,0)#turtle.setup(width,height,startx,starty)

pythonsize = 30

turtle.pensize(pythonsize)

turtle.pencolor("blue")

turtle.seth(-40)#turtle.seth(angle),StandardMode:0 is to east in the right hand,90 is to north in upword.LogoMode:0 to north,90 to east.

drawSnake(40,80,5,pythonsize/2)

main ()

2.3 函数库()

两种引入方法:

第一种方法:在开头使用import turtle() # 第一种方式可以自定义fd()函数,

第二种方法:# 第二种方法不能自定义fd()函数,其实理解还是不是很深入~~

from import

或者

form import *

如果采用第一种和第二种略微有一点不同,比如能否再定义的区别。

Tutle库

引入方式:2种

控制画笔绘制状态的函数:8个,例如: pendown() penup()

控制画笔字体和颜色的函数:14个,例如:color() screensize()

控制画笔运动的函数:33个,例如:forward(distance) bk(distance)

-TurtleScreen/Screen类的函数:22个。例如:bgpicture(picname)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值