(1)分析问题,确定方法
(2)设计算法
(3)选择工具,按算法编写程序
(4)调式程序,分析并输出结果
在日常生活中,人们做任何一件事情,都是按照一定规则,一步一步进行的,这些解决问题的方法和步骤称为算法。我的理解:就是像各种公式一样,比如说洛必达定律,遇到问题符合条件就用洛必达这个方法,而这个方式是已经被写好了的,使用这个方法就能得到你想要的结果
#这个就是算法 def sum(x1,x2): y = x1 + x2 return y #这个就是调用该算法 print(sum(1,2)) 3
例:输入三个变量的值,然后按从小到大的顺序输出
x = int(input('input x :')) #输入x的值 y = int(input('input y :')) #输入y的值 z = int(input('input z :')) #输入z的值 #比较大小 if x > y: x,y = y,x if x > z: x,z = z,x if y > z: y,z = z,y print(x,y,z)
例:已知 f(x,y) = x**2 + y**2 输入x,y的值,求对应的函数值
def f(x,y): return x**2 + y**2 print(f(2,2)) 8
python通过语句缩进对齐反映语句之间的逻辑关系,从而来区分语句块的,我直接用两段代码来表示缩进不同产生的结果不同:
a = 0 b = 0 for i in range(0,10): a = a + i b = a + b print(b) 165 #-------------------------------- a = 0 b = 0 for i in range(0,10): a = a + i b = a print(b) 45
1.语句行:在python中,语句行从解释器提示符后的第一列开始,前面不能有任何空格,否则会产生语法错误。我的理解:就是写代码的时候该对齐的对齐,空格不能多,也不能少。
2.注释:注释对程序的执行没有任何影响,目的是对程序对解释说明,以增强程序的可读性。此外,在程序调式阶段,有时需要暂时不执行的某些语句这时可以给这些语句加注释符号,相当于对这些语句做逻辑删除,需要执行时,再去掉注释符号即可。我的理解:直接上代码
#这些井号符后面的问题在程序执行时并不会去影响程序, #所以你可以随便写 #巴拉巴拉巴拉巴拉 import random a = random.randint(1,10) if a == 2: print("ni hao") #print("ni bu hao") #这个用井号注释的代码在你需要的时候去掉井号就可以执行了
一般表达为: 变量 = 表达式
a = 1 b = 2 c = 3
python配置了12种复合赋值运算符:
+= -= *= /= /= %= **= <<= >>= &= |= ^=
表达式: 变量1 = 变量2 = 变量3 = ..... = 变量n = 表达式
a = b = 10 print(a) print(b) 10 10
还有一个同步赋值的语句:变量1,变量2,....,变量n = 表达式1,表达式2,.......,表达式n
a,b,c = 1,2,3 print(a) print(b) print(c) 1 2 3
表达式: input((提示字符串))
name = input("please input your name:") please input your name: yyx yyx
表达式:print([输出项1,输出项2,...,输出项n][,sep=分隔符][,end=结束符])
其中,输出项之间以逗号分隔,没有输出项时输出一个空行。sep表示输出时各输出项之间的分隔符(默认以空格分隔),end表示结束符(默认以回车换行结束)。print()函数从左☞右求每一个输出项的值,并将各输出项的值依次显示在屏幕的同一行上。
print(10,20,sep = ',',end= '*') 10,20*
具体实现方法有三种:
print('the value is Y%.3f'% 2.2') the value is 2.200 #------------------------------- print(format(2.2,'.3f')) 2.200 #------------------------------- print('the value is Y{0:.3f)'.format(2.2)) 2.200
表达式:格式字符串%(输出项1,输出项2,...,输出项n)
注意:常用格式说明符(标*是较为常用)
格式说明符 | 格式化结果 |
%%(*) | 百分号 |
%c(*) | 字符 |
%s(*) | 字符串 |
%d | 带符号整数(十进制) |
%o | 带符号整数(八进制) |
%x或%X | 带符号整数(十六进制,用小写字母或大写字母) |
%e或%E | 浮点数字(科学计数法,用小写e或大写E) |
%f或%F(*) | 浮点数字(用小数点符号) |
%g或%G | 浮点数字(根据值的大小,采用%e,%f或%E,%F) |
下面举一些较为复杂的例子,自己多敲多想一些:
print("%+3d,%0.2f"%(25,123.567)) +25,123.57 #------------------------------------------------------ print(format(15,'X'),format(65,'c'),format(3.145,'f')) F A 3.145000 #------------------------------------------------------ print('{0:<15}'.format(1234567890)) #左对齐 print('{0:>15}'.format(1234567890)) #右对齐 print('{0:*^15}'.format(1234567890)) #中间对齐 print('{0:10b}'.format(1234567890)) #用二进制形式输出 print('{0:10o}'.format(1234567890)) #用八进制形式输出 print('{0:10x}'.format(1234567890)) #用十六进制形式输出 1234567890 1234567890 **1234567890*** 1001001100101100000001011010010 11145401322 499602d2
在本章最后,我举一些例子,尽量自己手敲,然后实在不会可以去网上查:
(1)从键盘输入一个3位整数,输出他的逆序数。例如123 逆序数为321
(2)编写 二元一次方程的解 { 2x + y = 1,
x + 2y = 3}