程序设计语言:编译型,一次性执行结束(c语言)和解释型,逐条执行,便于维护(JavaScript,python等脚本语言)

拿到一个问题时:

分析问题的计算部分

确定功能,使用IPO方法进一步分析:输入;处理;输出。I(输入input)P(处理process)O(output输出)分析"

设计算法:计算公式

编写程序

运行调试程序

程序设计的步骤:

确定程序的IPO

编写程序

调试程序

问题小练习:如何利用温度摄氏度和huashi华氏度进行转换?

I(输入input)P(处理process)O(output输出)分析;
设计算法:
C = (F - 32)/ 1.8
F = C * 1.8 + 32
源码如下:
1 while (True):
2 content = str(input('请输入当前温度:'))
3 if content[-1] in ["c","C"]:
4 huashi = int(content[:-1]) * 1.8 + 32
5 print("当前温度为摄氏度{a},转化为华氏度{b}".format(a = content,b = str(huashi) + 'F'))
6 elif content[-1] in ['f','F']:
7 sheshi = (int(content[:-1])- 32) / 1.8
8 print('当前温度为华氏度{0},转化为摄氏度{1}'.format(content,str(sheshi) + 'C'))
9 else:
10 print('输入有误')

为了提高学习兴趣,跟着嵩天老师学习了一下turtle库,这个库可以在图形化页面生成图形。

下面一段是一段生成蟒蛇源码,大家可以自己敲一下,或者直接点击源码顶部按钮,然后复制即可。

不懂得地方自行百度,搜索能力是必备的。

下面的源码,利用是函数调用。先调用main(),然后从main()函数里面调用drawSnake()函数,def 是定义函数。里面的参数,嵩天老师都已经讲解,我也注释出来了。至于源码怎么编写的,暂时不需要了解,只要先明白大概源码的作用就OK了。

1 import turtle
2 def drawSnake(rad,angle,len,neckrad):
3 for i in range(len):
4 turtle.circle(rad,angle) # rad表示爬行圆形轨迹的半径位置,正值为左,负值为右,angle表示小乌龟爬行的弧度值
5 turtle.circle(-rad,angle)
6 turtle.circle(rad,angle/2)
7 turtle.fd(rad) # forward简写,代表爬行的直线距离
8 turtle.circle(neckrad+1,180)
9 turtle.fd(rad*2/3)
10
11 def main():
12 turtle.setup(1300,800,0,0) # 长度,高度,左上角坐标起始点
13 pythonsize = 60
14 turtle.pensize(pythonsize) # 宽度,小乌龟宽度
15 turtle.pencolor("green") # 小乌龟走过的轨迹颜色
16 turtle.seth(-40) # 小乌龟开始爬行的角度方向,参照数学象限
17 drawSnake(40,80,5,pythonsize/2)
18 main()

生成结果如下:

python语言程序设计嵩天课后答案 python语言程序设计 嵩天_ci

数据类型

数据类型就不详细介绍了,整型,浮点型,复数型,字符型,文件型,元组,列表,集合,字典等。

接下来学习数字类型(输一下下面的例子看看结果就知道区别,同时可以用下面的函数方法对其类型转换):

整型 int(4) 转为整数

浮点型 float(4) 转为浮点数

复数型 complex(4) 转换成复数

转换方法就是:int(),float(),complex()

运算方法:

python语言程序设计嵩天课后答案 python语言程序设计 嵩天_ci_02

字符串切片索引

下面一个小练习,最好对应嵩天老师的视频观看,简单的内容就不详述了,看视频了解。

输入1到7,然后打印出分别对应的星期一到星期日

下面是本人作出的源码,稍微多加了一点以后要写到的内容,其中包括循环,函数,__main__,__name__方法。不必纠结个别不懂得地方,船到桥下自然直,等你学到这,自然就会了,笔者也是这样过来的。

1 def cal():
2 '''
3 输入1到7,然后打印出分别对应的星期一到星期日
4 '''
5 for i in range(20):
6 content = "星期一星期二星期三星期四星期五星期六星期日"
7 a = int(input('请输入星期几,输入用1到7数字代表:'))
8 if a in list(range(1,8)):
9 index = a * 3
10 output = content[index-3:index]
11 print(output)
12 else:
13 print("请重新输入")
14 continue
15 if __name__ == '__main__':
16 cal()

列表的操作

python语言程序设计嵩天课后答案 python语言程序设计 嵩天_python_03

小游戏,利用turtle库绘制五角星并填充。可以复制这段代码运行一下,同样试着更改一下参数,看看有什么变化。

1 from turtle import Turtle
2 p = Turtle()
3 p.speed(1)
4 p.pensize(5)
5 p.color('black','yellow')
6 p.begin_fill()
7 for i in range(5):
8 p.fd(200)
9 p.right(144)
10 p.end_fill()
输出结果:

python语言程序设计嵩天课后答案 python语言程序设计 嵩天_python_04

网络爬虫---robots协议

robots协议就是不被允许的爬虫

例子:看一下百度的robots协议


python语言程序设计嵩天课后答案 python语言程序设计 嵩天_python语言程序设计嵩天课后答案_05

User-agent:后面指的被百度禁止的恶意爬虫,

disallow:后面的是被禁止的通配符类型,最后一个不允许爬虫访问的资源目录

京东的robots协议,被京东禁止的爬虫。在网址后面加/robots.txt就可以了。https://www.jd.com/robots.txt

python语言程序设计嵩天课后答案 python语言程序设计 嵩天_ci_06


python语言程序设计嵩天课后答案 python语言程序设计 嵩天_百度_07

爬取网页源码通用框架:(为防止异常外加try :语句 except:语句)

1 # 通用爬取网页的代码框架
2 import requests
3 def getHtmlText(url):
4 try:
5 r = requests.get(url,timeout = 5)
6 r.raise_for_status() # 如果状态不是200,引发HttpError异常
7 r.encoding = r.apparent_encoding
8 return r.text
9 except : # except Exception as e
10 return "产生异常"
11 if __name__ == '__main__':
12 url = "www.baidu.com"
13 print(getHtmlText(url))