1.Python内置函数range()

语法:

range(start,end[,step])

参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

注意:
在Python2中我们查看range()函数帮助可以看到它返回的是一个列表:
Return a list containing an arithmetic progression of integers.
而在Python3中,range()函数的帮助可以看到返回的是一个整数序列的对象,而不是列表:
Return an object that produces a sequence of integers

举栗子:
1.当start小于end时:(步长为正数)

>>>range(10) # 从 0 开始到 9[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> range(0)[]>>> range(1, 10) # 从 1 开始到 9[1, 2, 3, 4, 5, 6, 7, 8, 9,]>>> range(0, 30, 5) # 步长为 5[0, 5, 10, 15, 20, 25]>>> range(0, 10, 3) # 步长为 3[0, 3, 6, 9]>>> range(0,10,-2) #错误的步长[]

2.当start大于end时:(步长要为负数)

>>> range(10,0,-1) #步长为-1[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]>>> range(0,-10,-2) #步长为-2[0, -2, -4, -6, -8]>>> range(0,-10,2) #错误的步长[]>>> range(1, 0) #错误的步长[]2.循环语句1.for 循环 :重复执行语句

语法格式:
(1).

for 变量 in 序列: 语句1 语句2 ...

(2).

for 变量 in range(10): 语句1 语句2 ...else: 循环体正常结束后接着执行的语句

若在for循环体中执行了break,直接跳出循环,else后的语句不会被执行。

举栗子:
(1).累加1~100

sum = 0for i in range(1,101): sum = sum + iprint(sum)

程序执行结果为:
5050

(2).求1~100之间所有偶数的和;求1~100之间所有奇数的和

sum1=0sum2=0for i in range(2,101): if i%2 == 0: sum1+=i else: sum2+=iprint('1~100所有偶数和:%d\n1~100所有奇数和:%d' %(sum1,sum2))

(3).用户输入一个×××数, 求该数的阶乘; 如3!=321=6

sum3=1x=int(input('请输入阶乘数:'))if x>0: for i in range(1,x+1): sum3*=i print('%d的阶乘为:%d' %(x,sum3))else: print('请输入有效的数字!')

(4).输入用户帐号密码,判定是否正确,连续三次错误不可再次输入

for i in range(3): name=input('请输入帐号:') passwd=input('请输入密码:') if name=='root' and passwd=='redhat': print('登陆成功!') break else: print('帐号或密码错误!')else: print('输入错误次数达到三次,请稍后重试!')

程序测试执行:

2.while 循环:在给定的判断条件为 true 时执行循环体,否则退出循环体。

(1).

while 条件语句: 满足条件执行的语句

(2).

while 条件语句: 满足条件执行的语句else: 条件不满足后执行的语句

若在while循环体中执行了break,直接跳出循环,else后的语句不会被执行。

举栗子:
(1).计算累加1~100

i = 1while i <=100: sum += i i += 1print(sum)

程序执行结果为:
5050
(2).模拟linux的shell

import oscmd=''while True: cmd=input('[root@host dir]#') if cmd=='exit': print('\n程序已经退出cmd模式!\n') break elif cmd=='logout': print('\n已经退出本程序!\n') exit() else: print('\n正在运行命令:%s\n' %cmd) os.system(cmd)

程序测试执行:

(3).求两个数的最大公约数和最小公倍数

x,y=input('请输入两个数(以,分隔):').split(',')x=int(x)y=int(y)min=x if x<y else ymax=x if x>y else yif max%min==0: xmin=min xmax=maxelse: i=int(min/2) while i > 0: if min%i==0 and max%i==0: xmin=i xmax=(x*y)/xmin break else: i-=1print('最大公约数:%d \n最小公倍数:%d' %(xmin,xmax))

程序测试执行:

(4).用while循环实现for循环的题(4)

count=0while count<3: x,y=input().split(' ') if x=='root' and y=='westos': print('logined') break else: count+=1else: print('3 times ')

程序测试执行:

(5).猜数字游戏

import randomanswer=random.randint(1,100)count=1guess=int(input('你有5次机会,猜一猜这个100以内的整数是:'))while count<5: if guess==answer: print('nice!你猜对了,然而并没有什么奖励!') break else: if guess > answer: print('你猜的数字有点大哦,加油!') else: print('你猜的数字有点小哦,加油!') print('你还有%d此机会,在猜:' %(5-count),end="") guess=int(input()) count+=1else: print('猪啊,5次机会用完了!这个数是%d!' %answer)3.while死循环

(1).bool值while True: pass(2).数值while 1: pass(3).永真条件while 2>1: pass