美文网首页
MOOC-U《Python语言程序设计》week2

MOOC-U《Python语言程序设计》week2

作者: 仙芽子 | 来源:发表于2017-10-20 14:05 被阅读0次

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 <条件1成立>:
<表达式1>
elif <条件2成立>
<表达式2>
……
else:
<表达式N>

  • 赋值语句:用等号给变量赋值。
f= 1.8*float(input_str[0:-1])+32
同步赋值语句:同时给多个变量赋值(先运算右侧N个表达式,然后同事将表达式结果赋给左侧)
<变量1>,……,<变量N>=<表达式1>,……,<表达式N>
- 输出函数: print() 可以输出字符和各种类型变量的值,同时通过%来选择要输出的变量。
- 循环语句:
for  i in range(<计数值>):
<表达式1>

连续运行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)

相关文章

网友评论

      本文标题:MOOC-U《Python语言程序设计》week2

      本文链接:https://www.haomeiwen.com/subject/eybmuxtx.html