2018.6.1for、while 循环

额外变量交换两个变量值的方法

a,b=10,15
a,b=b,a
  • 1
  • 2

python的循环语句包括for和while两种

for循环

 一般循环次数有限,其步长可以不是1,可以为负

for in 循环用来遍历序列化项目,列表或者字符串等

for i in range(起始1,截至10,步长1): #循环时i等于1到10 步长可以为负数

range(5)生成一个0到4的数列。 
range(3,12)生成一个3到11的数列 

range(1,20,2)#第三个参数是循环步长,可以为负数 

str(i) #将变量i的值转换成字符串形式,另一种写法”%d”%i 

a = [12, 34, 34, 23, 45, 76, 89]
for i, j in enumerate(a):
    print(i, j)
  • 1
  • 2
  • 3

enumerate()函数可遍历列表的索引和值,i为索引j为值,直接用于字典只可遍历字典的键索引和键。 

for i in ["第一项","第二项“]:
    print(i)
  • 1
  • 2

以上代码会循环打印第一项和第二项。 
使用len()可以遍历列表索引

a = ['Google', 'Baidu', 'Taobao', 'QQ']
for i in range(len(a)):
print(i, a[i])
  • 1
  • 2
  • 3



  • while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外”判断条件”还可以是个常值,表示循环必定成立,具体用法如下:

continue 和 break 用法

 

while循环循环次数不固定

通过设置条件表达式永远不为 false 来实现无限循环

while True: #无限循环
for i in range(1,11):
    if i%2==0:
        print("执行一次if后就结束for循环")
        break
else:
    print("break跳出不执行这里,循环结束后执行这里")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

while

a<100:#while循环
#代码块
  • 1
  • 2

while循环循环次数不固定

通过设置条件表达式永远不为 false 来实现无限循环

while True: #无限循环

在 while … else 在条件语句为 false 时执行 else 的语句块,当使用break退出循环时则不执行else语句块:

 
  • 1
  • 2
  • 3
  • 4
  • 5
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

和if语句类似,当循环语句内部只有一句代码时,可以将这句代码写在冒号后面。

while True: print ('这是一句代码')


i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

for 循环 1-100 所有整数的和

n = 0
sum = 0
for n in range(0,101):# n 范围 0-100
    sum += n
print(sum)
  • 1
  • 2
  • 3
  • 4
  • 5

使用循环嵌套来实现99乘法法则:

#外边一层循环控制行数
#i是行数
i=1
while i<=9:
     #里面一层循环控制每一行中的列数
     j=1
     while j<=i:
          mut =j*i
          print("%d*%d=%d"%(j,i,mut), end="  ")
          j+=1
     print("")
     i+=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

for 循环的嵌套使用实例:

for i in range(1,6):
   for j in range(1, i+1):
      print("*",end='')
   print('\r')
  • 1
  • 2
  • 3
  • 4
*
**
***
****
*****
  • 1
  • 2
  • 3
  • 4
  • 5

另一种写法:

for i in range(1,6):
    print("*"*i)
  • 1
  • 2

**while 循环语句和 for 循环语句使用 else 的区别: 
1、如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句。 
2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行!**

pass只是为了防止语法错误。

求100z已经能被3整除的数,只要求得倒前十个

count=0 #先定义一个计数器
for i in range(1,101):
    if i%3==0:
        print(i,end="\t")
        count+=1
        #当计数器大于10次的时候结束循环
        if count>9:
            break

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值