<读书笔记>001-以解决问题为导向的python编程实践
作者:互联网
以解决问题为导向的python编程实践
0.第0章:计算机科学
- 思考:计算机科学是否为计算机编程的简称?
- 编程的困难点:1.同时做2件事(编程语言的语法、语义+利用其解决问题) 2.什么是好程序(解决问题+普遍适用+优美如诗)
- python的出发点:使得程序猿的效率更高
- 什么是计算?计算是人类或机器对数据进行操作
- 。。。(剩下的就是基础普及)
1.第一章:开始编程
- 编程规则:规则1:编写前深思熟虑 规则2:可读性+解决问题 规则3:实践是提高编程能力和问题解决能力的最好办法
问题1:计算圆的周长
- 1、提示用户输入半径
- 2、利用公式计算周长和面积
- 3、输出结果给用户看
1,写python代码 计算周长面积.py
import math r = int(input("请输入半径:")) c = 2*math.pi*r s = math.pi*r*r print("周长是%s,面积是%s"%(c,s)) input()
2.打包成可执行文件
pyinstaller -F 计算周长面积.py
3.执行文件
问题2:海龟绘图(Turtle Graphics)之画一个五角星
- 1.导入turtle模块,画一个五角星
- 2.打包成一个可执行程序
- 3.根据可执行程序存在的问题,做一定的修改
1.海龟视图01.py
import turtle import time turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.right(144) turtle.forward(100) time.sleep(2)
2.打包成可执行程序(CMD-将路径移动到文件所在的文件夹下)
pyinstaller -F 海龟视图01.py
3.执行,查看效果
2.第二章:控制语句
问题3:篮球运动多少领先才安全
1.篮球运动多少领先才安全.py
# 基于Bill James的算法 ''' 1.获取领先一队的分数 2.减去三分 3.如果当前是领先队控球,那么加上0.5分;反之,减去0.5分(若数字小于0则将其变成0) 4.计算平方后的结果 5.如果得到的结果比当前比赛剩下的时间的秒数更大,那么这个领先是安全的 ''' pointsStr = int(input("请输入领先一队的分数:")) points = pointsStr - 3 has_ball = input("当前是否为领先队控球(1代表是,0代表否,请输入1或0):") if has_ball == '1': points = points + 0.5 else: points = points - 0.5 if points < 0: points = 0 points = points ** 2 seconds = int(input("请输入比赛剩余的秒数:")) if points > seconds: print("这个领先是安全的!") else: print("这个领先不安全!") input()
2.打包成可执行文件
pyinstaller -F 篮球运动多少领先才安全.py
问题4:冰雹序列
1.冰雹序列.py
# Collatz在1937年提出的数学猜想 ''' 1.如果数字是偶数,除以2 2.如果数字是奇数,乘以3,再加1. 3.如果数字等于1,退出程序 ''' from pylab import * number = int(input("请输入你需要验证的数字(正整数):")) # 接收坐标值 Y = [] Y.append(number) while number > 1: if number % 2: number = number * 3 + 1 Y.append(number) else: number = number / 2 Y.append(number) if number == 1: print("该数满足冰雹序列,图像如下") X = np.arange(1, len(Y) + 1, 1) plt.plot(X, Y) plt.show() else: print("该数不满足冰雹序列!")
2.打包
pyinstaller -F 冰雹序列.py
这个画图包打包起来太大了,打包完300M+,真的6,以后少干这种事(以后可以研究,怎么样打包占用空间少)
3.运行
3.第三章:算法和程序开发
什么是算法?
算法:计算或其他解决问题的操作需要遵循一个过程或者一套规则(解决问题的方法)
后面似乎没有从解决问题的角度去描述问题了,只是单纯的介绍了一些基本概念
标签:turtle,py,python,编程,number,001,points,领先,input 来源: https://www.cnblogs.com/shuimohei/p/11331715.html