简说Python之循环语句

条件语句和循环语句是程序常用的一种基础语法,从语言上来说,能说清楚的事物,都有一种逻辑思维。那么,从程序语言角度来说,条件和循环语句就是程序的“逻辑思维”。

Python的运算逻辑

求余运算符%和除法运算符/,举例效果:

  1. 求余运算符%,运算的结果是两个数相除后的余数。
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
  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
原文地址:https://www.cnblogs.com/zhangshengdong/p/12497848.html