python—for循环语句、while循环语句

1 、range() 函数用法

range() 函数可创建一个整数列表,一般用在 for 循环中。
格式:range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

示例:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10,1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10,2)
[0, 2, 4, 6, 8]
>>> range(1,10,2)
[1, 3, 5, 7, 9]
2 、for循环语句

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
格式1:

for <变量> in <序列>:
	<循环需要执行的代码>

格式2:

 for <变量> in <序列>:
    	<循环需要执行的代码>
 else :
 		<全部循环结束后要执行的代码>    
 # else 之后的操作必须是for语句遍历序列的每一个项目之后,才能执行,如果中途退出循环则不执行。

应用练习:

1 求1~100之和 :

result = 0
for num in range(1,101):
    result +=num
print(result)

输出结果:5050

2 求1~100奇数之和 :

result = 0
for num in range(1,101,2):
    result +=num
print(result)

输出结果:2500

3 求1~100偶数之和 :

result = 0
for num in range(2,101,2):
    result +=num
print(result)

输出结果:2550

4 用户输入一个数字,求该数的阶乘:

max = int(input('please input the unmber:  '))
result = 1
for num in range(1,max+1,):
    result *=num
print(result)

效果演示:

[kiosk@foundation47 python]$ python3 shiyan.py 
please input the unmber:  4
24

5 用户登陆程序

  • 1.输入用户名和密码
  • 2.判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
  • 3.为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错
for i in range(3):
    username = input('请输入用户名称 :')
    passwd = input('请输入用户密码 :')
    if username == 'root' and passwd == 'westos' :
        print('输入正确,请登陆')
        break
    else :
        times = 2-i
        print('输入错误!剩余登陆次数 %d' %times)
else:
    print('连续登陆失败3次,请等待15分钟后重新登陆')

效果演示:

[kiosk@foundation47 python]$ python3 shiyan.py 
请输入用户名称 :studnet
请输入用户密码 :redhat
输入错误!剩余登陆次数 2
请输入用户名称 :hahah
请输入用户密码 :lelele
输入错误!剩余登陆次数 1
请输入用户名称 :haha
请输入用户密码 :haha
输入错误!剩余登陆次数 0
连续登陆失败3次,请等待15分钟后重新登陆
[kiosk@foundation47 python]$ python3 shiyan.py 
请输入用户名称 :root
请输入用户密码 :westos
输入正确,请登陆
3、break、continue、exit()

break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面代码不会执行, 但是循环依然继续的.
exit():结束程序的运行

break 示例 :

for i in range(10):
    if i == 5:
        break
    else :
        print(i)

运行结果:
[kiosk@foundation47 python]$ python3 shiyan.py 
0
1
2
3
4

continue 示例 :

for i in range(10):
    if i == 5:
        continue
    else :
        print(i)
运行结果:
[kiosk@foundation47 python]$ python3 shiyan.py 
0
1
2
3
4
6
7
8
9
4 命令行提示符的实现

import os 加载os模块

  • 在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。
  • os模块中的system()函数可以方便地运行其他程序或者脚本
  • os.system(command) 使用格式
import os
for i in range(10000):
    cmd = input('[toto@toto47 python]$' )
    if cmd :
        if cmd == 'quit':
            break
        else:
            os.system(cmd)
    else:
        continue

效果演示:

[kiosk@foundation47 python]$ python3 shiyan.py 
[toto@toto47 python]$
[toto@toto47 python]$
[toto@toto47 python]$绿色
sh: $'\347\273\277\350\211\262': command not found
[toto@toto47 python]$ls 
0523  day 02  my day01	shiyan.py
[toto@toto47 python]$pwd
/home/kiosk/PycharmProjects/python
[toto@toto47 python]$quit
[kiosk@foundation47 python]$ 

练习:

1 输入两个数值:求两个数的最大公约数和最小公倍数。

num1 = int(input('请输入第一个数: '))
num2 = int(input('请输入第二个数: '))
num = min(num1,num2)
for i in range(1, num + 1):
    if num1 % i == 0 and num2 % i == 0:
        最大公约数=i
print('%d 和 %d的最大公约数是%d' %(num1,num2,最大公约数))
最小公倍数 = (num1 * num2) / 最大公约数
print('%d 和 %d的最小公倍数是%d' %(num1,num2,最小公倍数))

运行演示:

[kiosk@foundation47 day 02]$ python3 2.1.py 
请输入第一个数: 8
请输入第二个数: 6
8 和 6的最大公约数是2
8 和 6的最小公倍数是24
5 while 循环语句

1 格式:

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

** 2 while 死循环 :**
只要满足 while的条件永远为真,就会进入无限循环
例如:

while  True:
    print('一直循环')

3 while嵌套
\t :在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐
\n:在控制台输出一个换行符
\:转译 ,将特殊字符转译成普通字符

练习:99乘法表

第一种:

cro = 1
while cro <= 9:
    col = 1
    while col <=cro:
        print('%d * %d = %d\t' %(cro,col,cro*col),end='')
        col += 1
    print('')
    cro += 1

运行演示 :

[kiosk@foundation47 day 02]$ python3 2.20.py 
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

第二种 :

cro = 9
while cro > 0 :
    col = cro
    while col > 0 :
        print('%d*%d=%d\t' %(cro,col,cro*col),end='')
        col -=1
    print('')
    cro -=1

效果演示:

[kiosk@foundation47 day 02]$ python3 2.2.py 
9*9=81	9*8=72	9*7=63	9*6=54	9*5=45	9*4=36	9*3=27	9*2=18	9*1=9	
8*8=64	8*7=56	8*6=48	8*5=40	8*4=32	8*3=24	8*2=16	8*1=8	
7*7=49	7*6=42	7*5=35	7*4=28	7*3=21	7*2=14	7*1=7	
6*6=36	6*5=30	6*4=24	6*3=18	6*2=12	6*1=6	
5*5=25	5*4=20	5*3=15	5*2=10	5*1=5	
4*4=16	4*3=12	4*2=8	4*1=4	
3*3=9	3*2=6	3*1=3	
2*2=4	2*1=2	
1*1=1	

第三种 :

cro = 9
while cro > 0 :
    col = 9
    while col > 0 :
        if col > cro :
            print('     \t' ,end='')
        else:
            print('%d*%d=%d\t' %(cro,col,cro*col),end='')
        col -=1
    print('')
    cro -=1

效果演示:

[kiosk@foundation47 day 02]$ python3 2.3.py 
9*9=81	9*8=72	9*7=63	9*6=54	9*5=45	9*4=36	9*3=27	9*2=18	9*1=9	
     	8*8=64	8*7=56	8*6=48	8*5=40	8*4=32	8*3=24	8*2=16	8*1=8	
     	     	7*7=49	7*6=42	7*5=35	7*4=28	7*3=21	7*2=14	7*1=7	
     	     	     	6*6=36	6*5=30	6*4=24	6*3=18	6*2=12	6*1=6	
     	     	     	     	5*5=25	5*4=20	5*3=15	5*2=10	5*1=5	
     	     	     	     	     	4*4=16	4*3=12	4*2=8	4*1=4	
     	     	     	     	     	     	3*3=9	3*2=6	3*1=3	
     	     	     	     	     	     	     	2*2=4	2*1=2	
     	     	     	     	     	     	     	     	1*1=1	

第四种 :

cro = 1
while cro <= 9 :
    col = 9
    while col > 0 :
        if cro <  col :
            print('     \t' ,end='')
        else:
            print('%d*%d=%d\t' %(cro,col,cro*col),end='')
        col -=1
    print('')
    cro +=1

效果演示:

[kiosk@foundation47 day 02]$ python3 2.4.py 
     	     	     	     	     	     	     	     	1*1=1	
     	     	     	     	     	     	     	2*2=4	2*1=2	
     	     	     	     	     	     	3*3=9	3*2=6	3*1=3	
     	     	     	     	     	4*4=16	4*3=12	4*2=8	4*1=4	
     	     	     	     	5*5=25	5*4=20	5*3=15	5*2=10	5*1=5	
     	     	     	6*6=36	6*5=30	6*4=24	6*3=18	6*2=12	6*1=6	
     	     	7*7=49	7*6=42	7*5=35	7*4=28	7*3=21	7*2=14	7*1=7	
     	8*8=64	8*7=56	8*6=48	8*5=40	8*4=32	8*3=24	8*2=16	8*1=8	
9*9=81	9*8=72	9*7=63	9*6=54	9*5=45	9*4=36	9*3=27	9*2=18	9*1=9	
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值