Python之for循环

程序的三大流程:

在程序开发中,一共有三种流程方式:
    顺序:从上向下,顺序执行代码
    分支:根据条件判断,决定执行代码的分支
    循环:让特定代码重复执行(解决程序员重复工作)
  1. for 循环的一般格式

    for 变量 in 可迭代对象:
    循环需要执行的代码
    在这里插入图片描述

  • 如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
  1. range 的使用

    range(stop) #0 ~ stop-1
    range(start,stop) #start ~ stop-1
    range(start,stop,step) #start ~ stop-1, step表示步长

例如: 输出0-4

代码:

for i in range(5):
    print(i)

在这里插入图片描述
例如:输出python的每个字母:

for item in 'python':
    print(item)

在这里插入图片描述
实例:将hello world打印5遍

for _ in range(5):
    print('hello world')

运行结果:
在这里插入图片描述

示例1:求1~100之间所有偶数之和

代码:

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

运行结果:
在这里插入图片描述
示例3:求某个数的阶乘

代码:

result=1
num = int(input('num:'))
for i in range(1,num + 1):
    result *= i
print('%d的阶乘为: %d' %(i,result))

运行结果:
在这里插入图片描述

  1. 两种退出格式

    break #表示永久终止循环,即不执行本次循环中break后的语句,直接跳出循化
    continue #表示终止本次循环,即本次循环中continue后面的代码不执行,进入下一次循环的入口判断
    exit() #表示结束进程,即整个退出系统
    例如:

(1).break的使用

代码:

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

print('hello python')

运行结果:
在这里插入图片描述
(2).continue的使用

代码:

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

print('hello python')

运行结果:
在这里插入图片描述
(3).exit的使用

代码:

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

print('hello python')

运行结果:
在这里插入图片描述

for 循环的综合练习

需求1:

有1,2,3,4四个数字
求这四个数字能生成多少个互不相同且无重复数字的三位数(432*1=24)

注意:本题目只是让求出符合要求的数字个数,无需输出每个数,不要把题目想复杂了

代码:

# 记录符合要求的数字个数
count = 0

for i in (1,2,3,4):
    for j in (1,2,3,4):
        for k in (1,2,3,4):
            # 去重
            if i != j and i != k and j!= k:
                count += 1
print(count)

运行结果:
在这里插入图片描述
需求2:

输入两个数值:
    求两个数的最大公约数和最小公倍数
提示:最小公倍数=(num1 * num2) / 最大公约数

代码:

#1.接收两个数字
num1 = int(input('Num1: '))
num2 = int(input('Num2: '))

#2.找出两个数中的最小值
min_num = min(num1,num2)

#3.最大公约数范围在1~min_num之间
for i in range(1,min_num+1):
    if num1 % i ==0 and num2 %i ==0:
        gys = i

#4.最小公倍数
gbs = (num1*num2 / gys)

print('%d和%d的最大公约数为: %d' %(num1,num2,gys))
print('%d和%d的最小公倍数为: %d' %(num1,num2,gbs))

在这里插入图片描述
需求3:

用for循环实现:
   用户登录需求:
     1.输入用户名和密码;
     2.判断用户名和密码是否正确(name='root',passwd='westos')
     3.登录仅有三次机会,超过3次会报错

分析:
用户登陆情况有3种:
用户名错误(此时便无需判断密码是否正确)  --登陆失败
用户名正确 密码错误   --登陆失败
用户名正确 密码正确   --登陆成功

代码:

for i in range(3):
    name = input('用户名: ')
    passwd = input('密码: ')
    if name == 'root' and passwd == 'westos':
        print('登录成功!')
        break
    else:
        print('登录失败')
        print('您还剩余%d次机会' %(2-i))

else:
    print('失败超过3次,请稍后再试!')

运行结果:

在这里插入图片描述
for…else… 表示当语句体中有 break,return或者异常发生时,则不会执行else中的语句体,余情况下都会执行else中的语句体

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值