Python循环

1. while循环

while循环简易示意图
在这里插入图片描述
举例说明:

x=1
while x <= 100:
    print(x)
    x+=1

#运行结果
1
2
3
...#由于数字过多,中间的部分就省略了。
100

我们可以看到只有符合条件的元素才会输出,并进入下一轮循环。当不符合条件的元素出现时,不仅会终止循环,也没有输出。

名字=''
while not 名字:
    名字=input('你的名字是:')
print('你好,{}!'.format(名字))
#运行结果
你的名字是:? 
你好, !

通过上述代码,我们显而易见的发现;即使我们输入的名字为一个空格,程序仍然会运行,并输出结果。这无疑是这个小程序的瑕疵,但很容易修复。

#第一种修复方法
name=''
while not name or name.isspace():
    name=input('你的名字是:?')
print('你好,{}!'.format(name))
#第二种修复方法
name=''
while not name.strip():
    name=input('你的名字是:?')
print('你好,{}!'.format(name))
#运行结果
你的名字是:? 
你的名字是:?;
你好,;

两种方法运行结果相同,都是必须输入字符,才会输出结果。如你所见,标点符号都可以。

2.for循环

while循环语句很灵活,可在条件为真(True)时反复执行代码块。在通常情况下很好用,但有时需要根据需求来定制。一种这样的需求是为序列中的每个元素执行代码块。为此,可以使用for语句

数字=[1,2,3,]
for 数字 in 数字:
    print(数字)
#运行结果
1
2
3

鉴于迭代特定范围内的数是一种常见的任务,Python提供了一个创建范围的内置函数range
范围类似于切片。包含起始位置,但不包含结束位置。

for 数字 in range(1,3):
    print(数字)
#运行结果
1
2

和前面使用的while循环语句相比,for循环要紧凑很多。
提示:只要能用for循环,就不要用while循环。

3.跳出循环

通常情况下,循环会不断地执行代码块,直到条件为假(False)或者是用完了序列中的元素。但在有些情况下,你可能想中断循环,开始新迭代(进入下一轮代码块执行流程)或者直接结束循环。
(1)结束或跳出循环使用break

number=[1,2,3,4,5,6,7,8,9]
for number in number:
    print(number)
    if number==4:
        break
#运算结果
1
2
3
4

(2)结束当前迭代,并跳入下一次迭代开头使用continue
这在对于循环体庞大且复杂时,且存在多个要跳过它的原因时很好用
(3)while True/break成例

while True:
    word=input('Please enter a word:')
    if not word:break
    print('The word was',word)
    break
#运算结果
Please enter a word:egg
The word was egg

while True导致循环永不结束,但你将条件放在了循环体内的一条if语句中,而这条if语句将在条件满足时调用break。这说明并非只能像常规while循环那样在循环开头结束循环,而是可在循环体的任何地方结束循环。if/break行将整个循环分成两个部分:第一部分负责设置(若使用常规while循环,将重复这部分),第二部分在循环条件为真时使用第一部分初始化的数据。

4.循环中的else子句

判断循环是否为正常结束,可在循环之后添加一个else子句,它仅在没有调用break时才执行。

number=[1,2,3,4,5,6,7,8,9]  
for number in number:       
    print(number)           
    if number==10:          
        break               
else:                       
    print('end')            
#运算结果
1
2
...#省略
end
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值