python程序设计基本编写⽅法
程序设计除了要有很强的逻辑和编码能⼒外,我觉得更重要的是要讲究⽅法,这样在开发测试过程中才能做到事半功倍,按⼀定⽅法进⾏的程序设计,可以清晰的分析问题,处理问题,解决问题。
⼀、 IPO模式
所谓IPO模式,即Input Process Output,
1、⽤户输⼊I:input()获得输⼊,程序的输⼊包括:⽂件输⼊、⽹络输⼊、⽤户⼿⼯输⼊、随机数据输⼊、程序内部参数输⼊等。输⼊是⼀个程序的开始
2、运算部分P:程序对输⼊进⾏处理,输出产⽣结果。处理的⽅法也叫算法,是程序最重要的部分。可以说,算法是⼀个程序的主要灵魂。算法是⼀个程序的灵魂
3、结果输出O:print()输出结果,程序的输出包括:屏幕显⽰输出、⽂件输出、⽹络输出、操作系统内部变量输出等。
输出是⼀个程序展⽰运算成果的⽅式。
⼆、程序编写的步骤
分析问题:分析问题的计算部分;
确定问题:将计算部分划分为确定的IPO三部分;
设计算法:完成计算部分的核⼼⽅法;
编写程序:实现整个程序;
调试测试:使程序在各种情况下都能正确运⾏;
升级维护:使程序长期正确运⾏,适应需求的微⼩变化
三、inital-print模版
初始变量:运算需要的初始值
运算部分:根据算法实现
结果输出: print()输出结果
四、语法
1、注释:单⾏注释# 多⾏注释···
2、1个缩进=4个空格 。 表明代码直接的程序关系
3、命名规则:使⽤⼤⼩写字母、数字和下划线的组合,但⾸字母只能是⼤⼩写字母或下划线,不能使⽤空格;中⽂等⾮字母符号也可以作为名字
4、空格的使⽤:
表⽰缩进关系的空格不能改变
空格不能讲⼀个命名分割
程序可以使⽤空格增加程序的可读性
五、输⼊函数
Input()函数从控制台获得⽤户输⼊。
使⽤⽅法如下:
<;变量>=input(<;提⽰性⽂字>)
获得的⽤户输⼊以字符串的形式保存在<;变量>中
六、计数循环基本过程
for i in range(<;计数值>):
<;表达式组>
例⼦:使某⼀段程序连续运⾏10次
for i in range(10)
<;表达式组>
七、python对库函数引⽤的⽅式
1、import <;库名>
2、from <;库名> import<;函数名>
from <;库名> import *
⼋、数字类型转换
函数:整数int()、浮点数float()、复数complex()九、字符串处理⽅法
⼗、列表的操作
⼗⼀、元组
元组有三个特点:
1、元组中元素可以是不同类型,例如:t3=123,333,("hello","中国")
2、元组中元素存在先后关系,可以通过索引访问元组中元素。例如:t3[0]
3、元组定义后不能更改,也不能删除。例如:t3[0]=456
⼗⼆、随机数
⼗三、简单的条件构造
1、简单条件基本模式<expr><relop><expr>
2、<relop>是关系操作符,使⽤“==”表⽰等于
3、除数字外,字符或字符串也可以按照字典顺序⽤于条件⽐较
4、<condition>是布尔表达式,为bool类型,布尔值的真和假以字符True和False表⽰⼗四、异常处理语句
1、python使⽤pt...,可使程序不因运⾏错误⽽奔溃
try:
<body>
except <ErroryType1>
<handler1>
except <ErroryType2>
<handler2>
except:
<handler3>
2、python异常处理语句还可以使⽤else和finally关机字
try:
<body>
except <ErroryType1>
<handler1>
except <ErroryType2>
<handler2>
except:
<handler3>
else:
<process_else>
finally:
<process_finally>
实例:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import math
def main():
print("this program finds the real solutions to a quadratic.\n")
try:
a, b, c = eval(input("Please enter the coefficents (a,b,c) :"))
discRoot = math.sqrt(b * b - 4 * a * c)
root1 = (-b + discRoot) / (2 * a)
root2 = (-b - discRoot) / (2 * a)
print("\nThe solution are:", root1, root2)
except ValueError as excObj:
if str(excObj) == "math domain error":
print("No Real Roots.")
else:
print(("You didn't give me the right number of coefficients."))
except NameError:
print("\nYou didn't enter three number.")
except TypeError:
print("\nYour inputs were not all numbers.")
except SyntaxError:
print("\nYour input was not the correct form, Missing comma?")
except:
print("\nSomething went wrong,sorry!")
main()
其中⼀个运⾏结果:
$ pytest -s tests/quadratic.py
============================= test session starts ============================== platform darwin -- Python 3.8.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1python的try和except用法
rootdir: /Users/leiyuxing/pytest, configfile: pytest.ini
plugins: xdist-2.0.0, allure-pytest-2.8.18, forked-1.3.0
collecting ... this program finds the real solutions to a quadratic.
Please enter the coefficents (a,b,c) :.>>
Your input was not the correct form, Missing comma?
collected 0 items
============================ no tests ran in 6.56s =============================⼗五、循环
1、⽆限循环
1.1、语法:while语句
while <condition>:
<body>
1.2、while语句中<condition>是布尔表达式
1.3、<body>是⼀条或多条语句
a、当条件<conditon>为真时,循环体重复执⾏
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论