zoukankan      html  css  js  c++  java
  • <读书笔记>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.第三章:算法和程序开发

      什么是算法?

    算法:计算或其他解决问题的操作需要遵循一个过程或者一套规则(解决问题的方法)

     后面似乎没有从解决问题的角度去描述问题了,只是单纯的介绍了一些基本概念

  • 相关阅读:
    node之时间
    node之querystring
    学图像处理应该学Matlab还是C++
    柯西—施瓦茨不等式
    矿区 GPS 变形监测及其伪卫星增强技术 GPS and its Pseudolite Augmented Technique for Deformation Monitoring in the Mining Area
    伪卫星
    The Principles of Selection. The Cartographic Journal, 3, 10-16. http://dx.doi.org/10.1179/caj.1966.3.1.10 Topfer, F. and Pillewizer, W. (1966)
    基于采样的网络地图的多尺度曲线绘制表达
    Coursera上Python课程(公开课)汇总
    三江源区高寒草地地上生物量遥感反演模型研究 Modeling Aboveground Biomass of Alpine Grassland in the Three-River Headwaters Region Based on Remote Sensing Data
  • 原文地址:https://www.cnblogs.com/shuimohei/p/11331715.html
Copyright © 2011-2022 走看看