python中for语句的基本知识与示例(包含break/continue/exit)

for循环语法

for 变量 in range(x):
    循环需要执行的代码

range(stop): 0 ~ stop-1
range(start,stop): start ~ stop-1
range(start,stop,step): start ~ stop-1 step(步长)

示例一:

求1~100之间的所有偶数求和
sum = 0定义计数器
for i in range(2,101,2):开始循环
    sum += i执行的动作
print(sum)

在这里插入图片描述
在这里插入图片描述
示例二:

利用for循环求阶乘
num = int(input('Num:'))
res = 1定义累乘器
for i in range(1,num+1):
    res *= i
print('%d的阶乘结果为: %d' %(num,res))

在这里插入图片描述
在这里插入图片描述
语句控制器break
break跳出整个循环,不会再执行循环后面的内容

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

在这里插入图片描述
在这里插入图片描述
语句控制器continue
continue:跳出本次循环,continue后面的代码不再执行,但循环依然继续
在这里插入图片描述
在这里插入图片描述
语句控制器exit
exit():结束整个程序的运行
在这里插入图片描述
在这里插入图片描述

示例

示例一

有1,2,3,4四个数字
求四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122 133类似)

count = 0定义计数器
for i in range(1,5):产生一个1~4的数
    for j in range(1,5):产生一个1~4的数
        for k in range(1,5):产生一个1~4的数
            if i != j and j !=k and k != i:判断三者是否互不相同
                print(i * 100 + j * 10 + k)如果是就输出该三位数
                count += 1并且计数器加一
print('生成%d个无重复数字的三位数' %count)打印总个数

在这里插入图片描述
在这里插入图片描述
示例二:

输入用户名和密码
判断是否正确(name = 'root', passwd = 'westos')
登录仅有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搭配使用
在这里插入图片描述
示例三:

编写程序实现模拟shell中的命令行提示符

import os导入操作系统
os.system('ls')调用ls命令
a = input('[kiosk@foundation0 ~]$ ')输入命令行提示符
print(a)打印

在这里插入图片描述在这里插入图片描述

for i in range(1000):
    cmd = input('[kiosk@python ~]$ ')
    if cmd:
        if cmd == 'exit':
            print('logout')
        else:
            os.system(cmd)模拟命令行中的命令,仅仅限库中有的命令
    else:
        continue

在这里插入图片描述
在这里插入图片描述
示例四:

求两个数的最大公约数和最小公倍数

#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))

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值