python——for循环

本文深入解析Python中的for循环及range()函数的多种用法,包括如何利用循环进行数值计算,如求和、求阶乘等。同时,探讨了break、continue与exit在循环控制中的作用,并通过实例演示了它们的执行效果。此外,文章还介绍了for循环与else语句的结合使用,以及如何应用这些知识设计用户登录系统,限制登录尝试次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、range( )函数:

     在学习for循环之前,我们必须掌握range( )函数的用法:

     一般有如下三种格式的用法:

    1.  range(number)                     #### 表示生成一串连续的整数,范围是 0--number-1   


    2. range(startnum,stopnum)                ##### 表示生成一串连续的数字,范围是 startnum - stopnum-1


    3. range(startnum,stopnum,step)                       ####### 表示生成一串连续的数字,范围是 startnum -- stopnum-1, step为步长

 

二、python中 for 循环的使用语法:


        for    variableName    in    range(«起始值startValue», «终止值tailValue»)
               (主体部分)

      通常,主体部分可以有好几行,只要这几行都有同样的缩进幅度。首先,循环的主体是从variableNamestartValue开始运行。然后随着variableName的值变成startValue+1,主体再次运行。接着,变量名称的值变成startValue+2。一直重复,直到variableName变成tailValue-1,之后循环停止。

      下面举几个小例子:

eg1 :用python 的for循环实现 1+2+……+100的和。

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

eg2 :python 实现 100内的奇数相加:

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

eg3 :python 实现100内的偶数相加:

sum = 0
for i in range(0,101,2):
    sum = i+sum
print(sum)

eg4 : 接受用户输入的一个数字,求其阶乘:

factorial_num = int(input('请问您要求哪个数字的阶乘:'))
factorial_sum = 1
for i in range(1,factorial_num+1):
    factorial_sum = factorial_sum*i
print('%d的阶乘是%d:' %(factorial_num,factorial_sum))

三、python中 break、 continue、 exit 的作用:

   1.  break : 跳出整个循环

break效果演示:

    测试代码如下:

for i in range(6): 
    if i == 3:   
        break
    print(i)

     运行结果:

     2. continue : 跳出当前循环

continue效果演示:

    代码如下:

for i in range(6):
    if i == 3:
        continue
    print(i)

   运行结果如下:

    3. exit :  跳出整个程序。

主要要区分开和break的区别!

下面两段代码只有一点区别:当if判断成立时,上边的用exit()退出,下边的用break退出:

for i in range(6):
    if i == 3:
        exit()
    print(i)
print('这就是break和exit的区别')
for i in range(6):
    if i == 3:
        break
    print(i)
print('这就是break和exit的区别')

下面我们看运行结果:

        用exit()退出的结果:

     用break退出的执行结果:

四、for 与else的组合:

       for中的else表示:for循环执行完后要执行的动作,但是异常退出循环该动作不执行(如break、exit退出)。

示例:

for i in range(6):
    if i == 3:
        continue
    print(i)
else:
    print('~~~')

运行结果:

练习题:

设计用户登陆系统(防止暴力破解,只能验证3次用户密码):

for i in range(1,4):
    user_name = input('请输入用户名:')
    user_passwd = input('请输入用户密码:')
    if user_name == 'root' and user_passwd == 'westos' :
        print('登陆成功!')
        break
    else :
        print('您已经登陆失败%d次,还有%d机会!' %(i,3-i))
        continue
else :
    print('登陆失败,请100s后再试!')

五、python练习题:

1.  for嵌套if 实现基本的命令提示行功能,python的os模块,可以实现调用shell命令的功效:

import os
for i in range(1,1000):
        cmd = input('[kiosk@foundation13 test] ')
        if cmd != '':                                                           
                if cmd == 'exit':
                        print('logout')
                        break
                else:
                        print('run %s' %(cmd))
                        os.system(cmd)
        else:
                continue

2.求最大公约数和最小公倍数:

# 1.接收两个输入值
num1 = int(input('number1:'))
num2 = int(input('number2:'))
# 2.找出两个数中较小的那一个,目的是优化程序
if num1 > num2:           ###  这里的4行if判断可以用 min(num1,num2)代替
    n = num2              
else:                     
    n = num1
# 3.求最大公约数:
for i in range(1,n+1):
    if num1%i == 0 and num2%i == 0 :
        max_number = i
    else:
        continue
# 4.求最小公倍数:
min_number =  (num1*num2)/i
print('%d和%d的最大公约数是:%d' %(num1,num2,max_number))
print('%d和%d的最小公倍数为:%d'  %(num1,num2,min_number))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值