条件语句和循环语句是程序常用的一种基础语法,从语言上来说,能说清楚的事物,都有一种逻辑思维。那么,从程序语言角度来说,条件和循环语句就是程序的“逻辑思维”。
Python的运算逻辑
求余运算符%
和除法运算符/
,举例效果:
- 求余运算符
%
,运算的结果是两个数相除后的余数。
G:Py>python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 7% 3
1
>>> 7% 4
3
>>> 7% 5
2
>>> 16% 5
1
- 除法运算符
/
,运算的结果和现实数学一致。
>>> 7 /3
2.3333333333333335
>>> 7 /2
3.5
>>> 7 /1
7.0
>>> 7 /10
0.7
Python条件语句
Python if和else的基本语法形式,如下:
if condition:
execute statement ……
else:
execute statement……
具体的例子如下,一个判断是否为奇偶数的例子:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
x = 1
while x <= 17:
# % 为求余运算符
if (x % 2 == 0 ):
print (x,"是偶数")
else:
print (x,"是奇数")
x+=1
另存为:even_odd.py
,执行结果如下:
G:Py>python even_odd.py
1 是奇数
2 是偶数
3 是奇数
4 是偶数
5 是奇数
6 是偶数
7 是奇数
8 是偶数
9 是奇数
10 是偶数
11 是奇数
12 是偶数
13 是奇数
14 是偶数
15 是奇数
16 是偶数
17 是奇数
实例2,判断一下成绩的优劣:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num =85
if ( num >= 90 ):
print (num,"的分数是优秀")
elif (num >=80 and num <90):
print (num,"的分数是良好")
elif (num >=70 and num <80):
print (num,"的分数是中等")
elif (num >=60 and num <70):
print (num,"的分数及格")
else:
print (num,"的分数不及格")
另存为:gradeif.py
,执行的效果如下(通过修改num
的变量,获取你所需要的逻辑):
G:Py>python gradeif.py
75 的分数中等
G:Py>python gradeif.py
85 的分数是良好
Python循环语句
Python while循环
简单的例子,如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
a = 1
while a <=5 :
print (a,"个学生")
a += 1
另存为:while01.py
,执行的效果如下:
G:Py>python while01.py
1 个学生
2 个学生
3 个学生
4 个学生
5 个学生
第二个例子,给出指定列表的数据,取出哪些是素数。其中包括了[列表],[函数]的基本用法。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def isPrime(n):
if(n<2):
return False;
elif(n ==2):
return True;
elif(n>2):
for d in range(2,n):
if(n%d == 0):
print(d,"是",n,"的被除数")
return False;
return True;
numbers =[2,3,4,5,8,10,16,21]
prime_numbers = []
other_numbers = []
i =2
while len(numbers) >0:
number = numbers.pop()
print(number,"数字被选出")
if (isPrime(number) == True):
print(number,"是素数")
prime_numbers.append(number)
else:
print(number,"不是素数")
other_numbers.append(number)
print(len(prime_numbers),"个数字在素数列表中")
print(len(other_numbers),"个数字在其他数列表中")
另存为:while02.py
,结果如下:
G:Py>python while02.py
21 数字被选出
3 是 21 的被除数
21 不是素数
16 数字被选出
2 是 16 的被除数
16 不是素数
10 数字被选出
2 是 10 的被除数
10 不是素数
8 数字被选出
2 是 8 的被除数
8 不是素数
5 数字被选出
5 是素数
4 数字被选出
2 是 4 的被除数
4 不是素数
3 数字被选出
3 是素数
2 数字被选出
2 是素数
3 个数字在素数列表中
5 个数字在其他数列表中
Python for 循环
for语句用于循环遍历你所需的数据。
for iterating_var in sequence:
statements(s)
举例如下,其中range()
函数会用到循环中。语法为:range(start, stop[, step])。
start->开始计数
stop->结束计数
step->可选参数,计数步长
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#输出结果以6开始,以3递增,一直到15结束
for i in range(6,17,3):
print(i)
print("---------------")
#输出0-9的数字
for z in range(10):
print(z)
另存为:for01.py
,输出的结果为:
G:Py>python for01.py
6
9
12
15
---------------
0
1
2
3
4
5
6
7
8
9
举例:循环字符串和列表
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for a in 'zhangshengdong':
print('输出为:',a)
databases = ['oracle','db2','MySQL','SQLserver','Sybase','PostgreSQL']
for db in databases:
print ('数据库名字为:',db)
另存为:for02.py
,输出的结果为:
G:Py>python for02.py
输出为: z
输出为: h
输出为: a
输出为: n
输出为: g
输出为: s
输出为: h
输出为: e
输出为: n
输出为: g
输出为: d
输出为: o
输出为: n
输出为: g
数据库名字为: oracle
数据库名字为: db2
数据库名字为: MySQL
数据库名字为: SQLserver
数据库名字为: Sybase
数据库名字为: PostgreSQL