Python中for循环语句实战案例

 更新时间:2023年09月27日 09:17:09   作者:IT.cat  
这篇文章主要给大家介绍了关于Python中for循环语句的相关资料,python中for循环一般用来迭代字符串,列表,元组等,当for循环用于迭代时不需要考虑循环次数,循环次数由后面的对象长度来决定,需要的朋友可以参考下

一、for循环语法

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

上面代码会从0-9,共循环10次,这个range(10),其实是相当于产生一个从0-9的列表,每循环一次,就会把列表里的下一个元素取出来给临时变量i。

执行结果:

二、循环的使用 

2.1、循环猜年龄

需求:最多允许猜三次,猜对了就退出程序

age = 38
for i in range(3):
    guess = int(input("猜测的年龄:"))
    if (guess>age):
        print("猜大了")
    elif (guess<age):
        print("猜小了")
    else:
        print("猜对了")

2.2、打印奇偶数

打印50-100间的奇数

for i in range(50,100):
    if (i%2 == 1):
        print(i)

打印偶数

for i in range(50,100):
    if (i%2 == 0):
        print(i)

2.3、循环嵌套

这里写了一个不是很灵活的冒泡排序,本质也是使用嵌套循环去完成的

number = [6,7,4,2,1,3,5]
for i in range(5):
    for j in range(6):
        if (number[j] > number[j+1]):
            tmp=number[j]
            number[j]=number[j+1]
            number[j+1]=tmp
print(number)

三、break & continue

我们这里写一个打印楼层的小程序

需求:一栋楼有5层,每层2间房,要求把本楼所有的房间号都打印一遍。

for i in range(1,6):
    for j in range(1,3):
        print(f"{i}层-{i}0{j}室")

 我们现在需求改一下,遇到第三层时,不打印任何房间号,其他层都打印

3.1、continue

continue的语法作用是,只要程序一遇到continue,本次循环就不继续了,直接进入下一次循环

for i in range(1,6):
    for j in range(1,3):
        if i==3:
            continue
        print(f"{i}层-{i}0{j}室")

3.2、break

break的语法作用是,只要程序遇到break,就会结束当前这个循环,注意如果是多层嵌套循环,只结束当前这一层的循环。

for i in range(1,6):
    for j in range(1,3):
        if i==3:
            continue   #跳过第三层,从第四层开始
        if i==2 and j==2:
            break      #当dao2层2室的时候直接退出二层循环。从三层开始走
        print(f"{i}层-{i}0{j}室")

四、打印三角形

打印这样的三角形

*

**

***

****

*****

****

***

**

*

#一种方法
for i in range(1,6):
    print("*" * i)
for i in range(4,0,-1):
    print("*" * i)
#第二种方法
n=10
for i in rang(n):
    if i<5:
        print(i*"*")
    else:
        print((n-i)*"*")

五、while循环

与for必须指定循环多少次不一样的是,while循环的次数可以是不定的,只要条件满足就可以永远循环下去。

5.1、while语法

while 条件:   #只要条件为真,就不断循环
    print(xxxxx)

5.2、死循环

count = 0
while True:
    print(f"第{count}次循环")
    count +=1

5.3、循环10次

count = 0
while count < 10:
    print(f"第{count}次循环....")
    count+=1

5.4、python写99乘法表

for i in range(1,10):
    print()
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}",end=" ")

5.5、用while实现循环猜年龄

需求:允许用户猜三次,若还不对,钙塑它,你真笨,还想继续猜吗?如果用户选择yes,就让他继续,如果选择no就退出

guess_age = 30
guess_num=0
while True:
    guess_num += 1
    if guess_num<=3:
        guess = int(input("请输入猜的数字:"))
        if guess < guess_age:
            print("数字猜小了")
        elif guess > guess_age:
            print("数字猜大了")
        else:
            print("恭喜猜对了")
    else:
            choice = str(input("错三次了,你还想继续猜吗?[yes/no]"))
            if choice == "":
                continue
            elif choice == "yes":
                print("游戏继续")
                guess_num = 0
            else:
                break

六、random和string模块(随机数)

6.1、random模块

可以残生指定范围内的随机数,字符串等

import random #导入random模块
a = random.choice("abcdefghigk") #参数也可以是一个列表
print(a)
s = "asdfghjklzxcv"
s = random.sample(s,5) #从数据源s中随机取出5个值
print(s)
i = random.randint(1,100) #打印一个随机数
print(i)

6.2、string模块

import string
a = string.ascii_letters  #大小写全部字符
print(a)
s = string.ascii_uppercase #大写字符
print(s)
i = string.ascii_lowercase #小写字符
print(i)
j = string.punctuation #打印特殊字符
print(j)
g = string.digits #打印数字
print(g)

6.3、京牌摇号小程序

需求:允许用户最多选3次

        每次放出20个车牌公用户选择

        3车牌[A-Z]-[xxxxx],可以是数字和字母在组合

import random
import string
num_lsit = []
tmp = (string.digits+string.ascii_uppercase)
print(random.sample(tmp,5))
count = 3
while count > 0:
    count-=1
    num_lsit = []
    for i in range(20):
        car_code = random.choice(string.ascii_uppercase)
        car_num = f"京{car_code}-{''.join(random.sample(tmp,5))}"
        num_lsit.append(car_num)
        print(i,car_num)
    choice = input("choice:").strip()
    if choice in num_lsit:
        exit(f"恭喜你选购成功,您的车牌为{choice}")
    else:
        print(f"未选中,还有{count}次机会")

6.4、年会抽奖程序

需求:张三公司有300员工,年会抽奖,奖项如下

一等奖3名,泰国五日游

二等奖6名,iphon手机

三等奖,小玩具一个

每个员工只能限一次。

import random
import string
a = []
for j in range(1,301):
    a.append(j)            #建立一个员工的地址池
###########抽一等奖##############
print("抽一等奖,三等奖是泰国五日游")
print("得奖员工:",end="")
for yi in range(3):
    tmp = random.choice(a)   #随机去一个员工
    print(tmp,end=" ")
    a.remove(tmp)           #因为每个员工只能拿一个奖,所以删除员工池以得奖的用户
print("")                   #另起一行
###########抽二等奖###############
print("抽二等奖,二等奖是一部iphon手机")
print("得奖员工:",end="")
for er in range(7):
    tmp = random.choice(a)
    print(tmp,end=" ")
    a.remove(tmp)
print("")
############抽三等奖##############
print("抽三等奖,三等奖是小玩具一个")
print("得奖员工:",end="")
for san in range(11):
    tmp=random.choice(a)
    print(tmp,end=" ")
    a.remove(tmp)

总结

到此这篇关于Python中for循环语句的文章就介绍到这了,更多相关Python for循环语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 模拟登陆163邮箱

    python 模拟登陆163邮箱

    这篇文章主要介绍了python 模拟登陆163邮箱的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 深度学习详解之初试机器学习

    深度学习详解之初试机器学习

    机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价,让我们一起来看看吧
    2021-04-04
  • Java中重定向输出流实现用文件记录程序日志

    Java中重定向输出流实现用文件记录程序日志

    这篇文章主要介绍了Java中重定向输出流实现用文件记录程序日志,本文直接给出代码实例,并对代码做了详细注解,需要的朋友可以参考下
    2015-06-06
  • python如何压缩新文件到已有ZIP文件

    python如何压缩新文件到已有ZIP文件

    这篇文章主要为大家详细介绍了python如何压缩新文件到已有ZIP文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 浅谈Pycharm中的Python Console与Terminal

    浅谈Pycharm中的Python Console与Terminal

    今天小编就为大家分享一篇浅谈Pycharm中的Python Console与Terminal,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python多进程并发的实现示例

    python多进程并发的实现示例

    python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程,本文主要介绍了python多进程并发的实现示例,感兴趣的可以了解一下
    2024-02-02
  • python实现颜色rgb和hex相互转换的函数

    python实现颜色rgb和hex相互转换的函数

    这篇文章主要介绍了python实现颜色rgb和hex相互转换的函数,可实现将rgb表示的颜色转换成hex值的功能,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • Python列表推导式与生成器用法分析

    Python列表推导式与生成器用法分析

    这篇文章主要介绍了Python列表推导式与生成器用法,结合实例形式分析了列表推导式、生成器的原理、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • Django基础知识 web框架的本质详解

    Django基础知识 web框架的本质详解

    这篇文章主要介绍了Django基础知识 web框架的本质详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python实现字典(dict)和字符串(string)的相互转换方法

    python实现字典(dict)和字符串(string)的相互转换方法

    这篇文章主要介绍了python实现字典(dict)和字符串(string)的相互转换方法,涉及Python字典dict的遍历与字符串转换相关操作技巧,需要的朋友可以参考下
    2017-03-03

最新评论