A. 用python语言设计程序,5道题,谢谢!
第一题,用input()接受用户输入,int()把输入转换成整型,if... else语句判断条件。能被2整除的是偶数,否则奇数
代码:
n = int(input())
if n % 2 == 0:
..#前面的点表示缩进。
..print("是偶数")
else:
..print("是奇数")
第二题input()、int()和嵌套if语句
代码:
n = int(input())
if n % 100 != 0:
..if n % 4 == 0:
....print("是闰年")
..else:
....print("是平年")
elif n % 400 == 0:
..print("是闰年")
else:
..print("是平年")
第三题还是一样滴,用input(),int()和if...else语句
代码:
a = int(input())
b = int(input())
if a > b:
..print(a – b)
else:
..print(b – a)
第四题也是一样滴
代码:
m = int(input())
n = int(input())
if m < n:
..print(m, n)
else:
..print(n, m)
第五题 (*^▽^*)
代码:
a = int(input())
if a >=60:
..print("合格")
else:
..print("不合格")
B. 一道简单的python编程题
按照题目要求编写的哥德巴赫猜想的Python程序如下
def IsPrime(v):
if v>=2:
for i in range(2,v//2+1):
if v%i==0:
return False
else:
return True
else:
return False
n=int(input("输入一个正偶数:"))
if n>2 and n%2==0:
for i in range(1,n//2+1):
if IsPrime(i)==True and IsPrime(n-i)==True:
print("%d=%d+%d" %(n,i,n-i))
else:
print("输入数据出错!")
源代码(注意源代码的缩进)
C. 如何用python编程解释“鸡兔同笼”问题
鸡兔同笼python程序编写要根据原书中的描述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”鸡兔同笼python程序具体写法如下:
把原文翻译成现代汉语是:“鸡和兔放在一个笼子里, 笼子里共有35个头,94个爪,那鸡和兔各有多少只?”
1、根据题意,头的总数为35,用变量head来记录头的总数:head =35。而腿的总数为94,用变量foot来记录腿的总数:(foot = 94)。
2、用变量chicken记录鸡的数量。因为头的总数为35,说明鸡和兔共有35只,所以鸡的数量是0-35之间的某一个数,这里用for循环来指挥计算机,自动罗列所有可能出现的情况:(for chicken in range(0, head+1):))。
3、然后,用变量rabbit记录兔子的数量。因为鸡和兔的总数等于头的数量,所以兔的数量rabbit等于头的总数head减去鸡的数量(chicken:rabbit=head一chicken)。
4、鸡有两条腿,兔子有四条腿,所以腿的总数为:(if chicken *2 + rabbit *4 == foot:print('鸡',chicken, '兔',rabbit))执行代码,就完成了。
D. python编写的经典心理学实验程序
首先确定您的文件所在的位置,如在桌面上,进入终端, 输入 cd desktop 之后再输入 python3 您的文件名.py 既可以运行python程序。您的错误是No such or directory 意思是在当前终端的工作目录下没找到您要运行的文件,切换工作目录即可。
E. 用python开发一个物流web代码
详细如下。
一个名叫“Remi”的Python库,就是用来开发WebApp的。1.Remi库简介
Remi是一个用于Python应用程序的GUI库,它将应用程序的界面转换为HTML,以便在Web浏览器中呈现。严格地说,我们不能用Remi库来编写传统的网站,而只能将它当成Web形式的Tkinter库(Python最经典的图形界面库)来使用。如果要做网站,还是要老老实实学点前端知识,然后结合Python的Flask框架来开发。
2.Remi库的安装
Remi可以采用pip命令安装
3.Remi库的代码
运行这段代码后,浏览器会自动打开一个本地的网址,出现如下图所示的界面。将“127.0.0.1”换成IP地址,就能通过其他电脑、手机的浏览器来访问了。
点击“请点击这里”按钮,界面会发生变化,如下图所示。不用写复杂的JS代码,在Remi的支持下,网页交互就变得这么简单。如果需要了解更多关于Remi库的资源,可以访问github或者官方文档。
github地址:https://github.com/dddomodossola/remi
文档地址:https://remi.readthedocs.io/en/latest/
基于Remi编写基于Web的物联网应用程序,既然是编写物联网应用程序,那么肯定还需要安装siot库。这也是“虚谷物联”团队开发的Python库,因为MQTT的官方Python库(paho-mqtt)编写出来的代码冗长,不好理解,于是委托上海蘑菇云团队在paho-mqtt的基础上进行了新的封装。siot库可以通过pip命令来安装,命令如下:
pipinstallsiot
F. 如何编写高质量的python程序
写出规范的代码是写出高质量代码的第一步,并且有助于培养仔细的习惯。
为了培养规范写代码的习惯,可以安装flake8这个工具,它不仅可以检查代码风格是否符合官方建议(PEP8),而且还能找出潜在的隐患(用Pyflakes做语法分析),更逆天的是还能检测到你有些函数写的太复杂(代码圈复杂度)了,更更逆天的是可以设置git commit之前必须通过这些检查。
当然具体操作需要根据自己的项目进行一些定制,比如可以忽略E501,W293。
空白项目模版
好的开始是成功的一半,写python代码就从pyempty开始吧。
在github上看一下那些经典的项目,web.py,flask, pep8,他们的项目目录都很规范,综合借鉴了一些项目的特点,我写了这个pyempty项目。
1.README.md 这里写你项目的简介,quick start等信息,虽然distutils要求这个文件没有后缀名,但github上如果后缀是.md的话可以直接转换成html显示。
2.ChangeLog.txt 该文件存放程序各版本的变更信息,也有一定的格式,参考web.py的ChangeLog.txt
3.LICENES.txt 这里存放你项目使用的协议,不要编写自己的协议。
4.requirements.txt 如果你的项目需要依赖其它的python第三方库,在这里一行一个写出来,可能pip install的时候能自动帮你安装
5.setup.py 安装脚本,后面详细介绍
6.docs 里面存放你的项目文档,如概要设计,详细设计,维护文档,pydoc自动生成的文档等,强烈推荐大家使用MarkDown格式编写文档
7.src 这个目录里存放项目模块的主要代码,尽量不要把模块目录直接放到根目录,模块代码目录可以在setup.py里指定的
8.tests 这个目录存放所有单元测试,性能测试脚本,单元测试的文件确保以test_做前缀,这样distutils会自动打包这些文件,并且用python -m unittest discover -s ./ -p 'test_*.py' -v 可以直接执行这些测试
单元测试
Martin Fowler:"在你不知道如何测试代码之前,就不该编写程序。而一旦你完成了程序,测试代码也应该完成。除非测试成功,你不能认为你编写出了可以工作的程序。"
我们有很多理由不写单元测试,归根结底是懒,虽然代码大全上说:
大部分研究都发现,检测比测试的成本更小。NASA软件工程实验室的一项研究发现,阅读代码每小时能够检测出来的缺陷要比测试高出80%左右(Basili and Selby 1987)。后来,IBM的一项研究又发现,检查发现的一个错误只需要3.5个工作时,而测试则需要花费15-25个工作时(Kaplan 1995)。
但是单元测试还是让别人相信你的代码有很高质量的最有力证据。
好了,请详细阅读:
深入python3.0: 单元测试-2.x也适用
Unit testing framework 不完整中文版
文档
敏捷开发不是提倡什么文档也不写,没有文档就没有传承和积累,轮岗或新人接手任务就会遇到很大的麻烦,所以我决定每个项目最少要写以下文档:
1.nalysis.model.md 概要设计文档,不同于README.md文件,该文档应该写于项目开发之前,把项目有哪些功能,大概分几个模块等项目整体概述信息写一下。
2.design.model.md 详细设计文档,不用太详细,至少把项目依赖哪些东西,谁依赖这个项目,重要算法流程描述,代码整体结构等写出来。
3.maintain.md 维护文档,这个我觉得最重要,你的服务都记录哪些日志,需要监控哪些业务指标,如何重启,有哪些配置项等,没这些东西,你的项目很难运维。
上面这些文档都是项目全局性的文档,不适合写在docstring或注视里,所以要有单独的文档。
打包
python有专门的模块打包系统distutils,你可以用这套机制把你的代码打包并分发到Pypi上,这样任何人都可以用pip或easy_install安装你的模块。
如果你开发的是内部项目,还可以用mypypi架设私有的pypi,然后把项目的大的版本更新发布到内部的pypi上,配置管理人员和运维人员可以很方便的从pypi上拉取代码安装到测试环境或生产环境。
发布大版本的时候要给版本命名及编写ChangeList,可以参考Git Pro的相关章节,主要记住以下几个命令。
git tag -a v0.1 -m 'my test tag' #给大版本命名,打Tag
git describe master #给小版本命名,Git将会返回一个字符串,由三部分组成:最近一次标定的版本号,加上自那次标定之后的提交次数,再加上一段SHA-1值
git shortlog --no-merges master --not v0.1 #生成版本简报,ChangeList
python有自己的打包机制,所以一般不要用git archive命令。
当然大版本管理用pypi管理比较合适,小的bug fix,紧急上线等好多公司都是用git直接从生产环境拉代码更新,因为git,svn等可以很方便的撤销某次更新,回滚到某个位置。
如何管理好大版本上线和小的紧急上线,我还没理清思路,欢迎大家参与讨论。
关于打包,请阅读如下链接:
Python 打包指南
深入Python3.0:打包 Python 类库
python打包:分发指定文件
出自:http://developer.51cto.com/art/201209/356603.htm