前言:
在我们进行一门语言的学习时,循环成为了我们必要的使用工具,本篇文章将
分享一下关于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