【Python中的】for 循环 和 while 循环

前言:

       在我们进行一门语言的学习时,循环成为了我们必要的使用工具,本篇文章将

分享一下关于Python中的for 循环.和while循环。

正文:

一、for循环的基本格式

  1、for 循环的基本格式

  for  变量   in    序列:

       循环要执行的动作

  2、序列的生成格式

range(stop):   0----stop - 1

range(start,stop):  start ---- stop -1

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

示例1:计算1---100的和

#求 1-100 的和
sum = 0
for i in range(1,100):
    sum+=i
print('和为%d' %(sum))

示例i2:

题目要求:用户输入一整型数,求该数的阶乘

#用户输入一个数,求该数的阶乘
count = 1
num = int(input('请输入你要计算的阶乘数:'))
for i in range(1,num+1):
    count *= i
print('%d的阶乘为%d' %(num,count))

二、break语句和contimue语句

break       ###退出整个循环,不会再执行循环后面的内容
continue    ###跳出本次循环,continue后面的代码将不再执行,但是循环依然执行
exit        ###结束程序的运行

示例1:continue语句

for i in range(10):
    if i == 5:
        continue
        print('hello world')
    else:
        print('hello python')
print('HELLO')


执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/continue.py
hello python
hello python
hello python
hello python
hello python
hello python
hello python
hello python
hello python
HELLO

Process finished with exit code 0

示例2:break语句

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

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/continue.py
hello python
hello python
hello python
hello python
hello python
HELLO

Process finished with exit code 0

示例3:exit语句

for i in range(10):
    if i == 5:
        exit()
        print('hello world')
    else:
        print('hello python')

print('HELLO')


执行结果为:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/continue.py
hello python
hello python
hello python
hello python
hello python

Process finished with exit code 0

示例3:for循环语句:

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

"""
题目要求:
有 1 3 4 5 四个数字
可以组成多少个无重复的三位数

题目分析:
首先使用for循环煸历
根据我们的思维习惯
首先可以用以下统计方法,l利用for循环的层次性
首先统计出所有的三位数,然后通过if 语句进行筛选除,数字不重复
的三位数
"""
count = 0
for i in range(1,5):
     for j in range(1,5):
         for k in range(1,5):
             if i != j and i != k and  j != k:
                print(i * 100 + j * 10 + k)
                count += 1

print(count)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/venv/for3.py
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
24

Process finished with exit code 0

示例4:用户登陆程序需求:

用户登陆程序需求:
        1. 输入用户名和密码;
        2. 判断用户名和密码是否正确? (name='root', passwd='westos')
        3. 登陆仅有三次机会, 如果超>过三次机会, 报错提示;

"""
题目要求:
用户登陆程序需求
  1、输入用户名和密码
  2、判断用户和密码是否正确
  3、登陆仅有三次机会,超过三次机会,系统将
  会提示错误,并且退出系统
  
  
 题目分析:
 用户输入用户名与密码,使用if语句判断用户名和密码是否正确,
 使用for循环进行输入次数的控制,
 使用continue和break语句进行循环指定动作的循环
"""
for i in range(3):
    name = input('请输入用名:')
    passwd = input('请输入用户的密码:')
    if name == 'redhat' and passwd == 'westos':
        print('用户登陆成功')
        break
    elif name == 'redhat' and passwd != 'westos':
        print('用户密码输入错误')
        print('你还有%d次机会' %(2-i))
        continue
    else:
        print('该用户不存在')
        print('你还有%d次机会' %(2-i))
        continue
else:
 print('输入次数已经超出规定')
 exit()

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/venv/bin/for5.py
请输入用名:fds
请输入用户的密码:dfdf
该用户不存在
你还有2次机会
请输入用名:fdgfdg
请输入用户的密码:fg
该用户不存在
你还有1次机会
请输入用名:redhat
请输入用户的密码:westos
用户登陆成功

Process finished with exit code 0

 

三、while 循环

1、while 循环的格式:

while 条件():

 当条件满足时,执行的动作1

 当条件满足时,执行的动作2

 

示例1:定义一个变量,记录循环次数

"""
定义一个计数器 i
使用while 循环进行判断
当判断条件满足设定的条件时
计数器进行+操作

"""
count = 0           ###定义计数器
while count <= 3:
    print('hello world')
    count += 1       ###处理计数器

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python "/home/kiosk/PycharmProjects/westos/while 循环.py"
hello world
hello world
hello world
hello world

Process finished with exit code 0

示例2、

用户登陆程序需求:
        1. 输入用户名和密码;
        2. 判断用户名和密码是否正确? (name='root', passwd='westos')
        3. 登陆仅有三次机会, 如果超>过三次机会, 报错提示;

"""
用户登陆程序需求:
        1. 输入用户名和密码;
        2. 判断用户名和密码是否正确? (name='root', passwd='westos')
        3. 登陆仅有三次机会, 如果超>过三次机会, 报错提示;
要求使用 while  循环

题目分析:
       1、输入用户名和密码
       2、使用while循环进行控制输入次数
       3、使用if语句判断用户名和密码是否匹配
"""
count = 0          ###定义计数器
while (count <= 2):
    name = input('请输入用户名:')
    passwd = input('请输入用户的密码:')
    if name == 'redhat' and passwd =='westos':
        print('用户登陆成功')
        break
    elif name == 'redhat' and passwd != 'westos':
        print('用户密码输入错误')
        print('您还有%d次机会' %(2-count))
        count += 1
        continue
    else:
        print('该用户不存在')
        print('你还有%d次机会' %(2-count))
        count += 1
        continue
else:
    print('您的输入次数已经超过规定次数,退出程序')
    exit()

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python "/home/kiosk/PycharmProjects/westos/while 循环2.py"
请输入用户名:fdsf
请输入用户的密码:sf
该用户不存在
你还有2次机会
请输入用户名:
请输入用户的密码:sfds
该用户不存在
你还有1次机会
请输入用户名:fdsfd
请输入用户的密码:dfsd
该用户不存在
你还有0次机会
您的输入次数已经超过规定次数,退出程序

Process finished with exit code 0

2、while中的死循环

while 循环的条件为真时,循环将一直进行下去

格式: while True:

要执行的动作

 

while 循环的示例

示例1:计算1+2+3+ .... +100

count = 0
sum = 0
while (count<=100):
    sum+=count
    count += 1
print(sum)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python "/home/kiosk/PycharmProjects/westos/while循环 3.py"
5050

Process finished with exit code 0

示例2:

题目要求:

在控制台连续输出五行*,每行依次递增
*
**
***
****
*****

"""
在控制台连续输出五行*,每行依次递增
*
**
***
****
*****
 题目分析:
 可以使用行和列读来控制输出的图形
 使用raw来控制行,line来控制列
 使用while 循环进行控制循环次数
"""
raw = 1
while (raw<=5):
    line = 1
    while line <= raw:
        print('*',end='')
        line += 1
    print('')
    raw += 1

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/while循环的嵌套.py
*
**
***
****
*****

Process finished with exit code 0

示例3、

题目要求:

猜数字游戏
1. 系统随机生成一个1~100的数字;
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;

"""
猜数字游戏
1. 系统随机生成一个1~100的数字;
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;

题目分析:
       1、随机数的产生: import random  引入随机数方法
       computer=rnadom,randint(1,100)  ###产生随机数
       2、使用while 循环来控制用户输入的次数
       3、使用if语句来判断玩家的输入与随机数产生的比较,输出
       相应的结果.

"""

import random
computer = int(random.randint(1,100))
print(computer)
count = 1
while count <= 5:
    player = int(input('请输入您猜的数字:'))
    if player == computer:
        print('恭喜你猜对了')
        break
    elif player > computer:
        print('too big')
        count+=1
        continue
    elif player < computer:
        print('too small')
        count += 1
        continue
else:
    print('输入次数已经超过规定的次数,退出程序')
    exit()

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/猜数字.py
83
请输入您猜的数字:78
too small
请输入您猜的数字:80
too small
请输入您猜的数字:84
too big
请输入您猜的数字:83
恭喜你猜对了

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/weixin_43831670/article/details/88848682