python中while和for的区别总结

yipeiwu_com6年前Python基础

Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。

while循环适用于未知循环次数的循环,for循环适用于已知循环次数的循环 。

for主要应用在遍历中,比如:

for i in range(10):

  print(i)

打印结果为:

0 1 2 3 4 5 6 7 8 9  

list1 = [1,2,"a”]

for i in list1:

  print(i)

#打印结果为逐步列表list1中的元素:

1

2

a

而while循环很少进行遍历使用(语句过多,没有for方便),while主要用于判断符合条件下循环,比如:

i = 0

while True:

  if i<3:

    print(i)

    i += 1

  else:

    print("i>=3啦!")

    break

#运行结果:当i叠加到3前,依次打印i的值,当i等于3的时候判断语句不成立,执行else语句,跳出while循环

#打印结果:

0

1

2

扩展实例:

while循环应用举例:
#为什么要用循环?循环可以使需要重复的代码只写一遍即可
a=10
#只要条件成立,就去执行条件后的代码块,条件不成立,直接跳过
while a==10:
 #第一种结束while循环的方式,更改循环的条件,让条件不成立
 number=input('请输入数字,输入0结束while循环:')
 #%s 通用占位符
 #如果字符串中只有一个占位符,可以将变量直接写在%之后
 #如果字符串中有两个或者两个以上的占位符,必须写在%之后,添加小括号(),将占位的变量写在小括号内
 print('您输入的数字为%s'%number)
 if number=='0':
  #更改a的值,让其不等于10
  a=20
#第二种结束while循环的方式 使用break关键字结束循环
#True 布尔类型的数据 True(真 可以使用数字1表示)和False(假 可以使用数字0表示)
while True:
 number=input('请输入内容,输入0结束循环:')
 if number=='0':
  #break跳出当前循环,结束while循环
  #break可结束for循环,也可结束while循环,结束离自己最近的循环
  break
for循环应用举例(九九乘法表)
#coding:utf-8
#python中的for循环
#for 指定循环次数
#利用for循环 输出99乘法表
#输出范围,包含5,不包含10
#for x in range(5,10):
# print x,
for i in range(1,10):
 for j in range(1,i+1):
  # print ('%s*%s=%s'%(i,j,i*j))
  #\t表示制表,使竖排对齐
   print(' %d*%d=%d'%(j,i,j*i),end="")
  # print j, "*", i, "=", i * j,' ',
 #换行三种方式:方法一 print \ 方法二 print '\n' 法三:'\r'
 print('\r')

相关文章

Python跑循环时内存泄露的解决方法

Python跑循环时内存泄露的解决方法

Python跑循环时内存泄露 今天在用Tensorflow跑回归做测试时,仅仅需要循环四千多次 (补充说一句,我在个人PC上跑的)。运行以后,我就吃饭去了。等我回来后,Console窗口...

python 对给定可迭代集合统计出现频率,并排序的方法

给定一个可迭代sequence,对其中的值进行出现次数统计: 方法1: def get_counts(sequence): counts = {} for x in sequen...

Python字典常见操作实例小结【定义、添加、删除、遍历】

本文实例总结了Python字典常见操作。分享给大家供大家参考,具体如下: 简单的字典: 字典就是键值对key-value组合。 #字典 键值对组合 alien_0 ={'color...

解决PyCharm控制台输出乱码的问题

解决PyCharm控制台输出乱码的问题

最近公司新换了台电脑,各种开发环境要重新配置,想想Paas确实还是有市场的,如果有了,这种情况可以省下不少气力。吐槽一下,言归正传 装完python后,继续装好PyCharm。把之前的程...

pandas重新生成索引的方法

在数据处理的过程中,出现了这样的问题,筛选某些数据,出现索引从600多开始,但是我希望这行数据下标从0开始。 这个时候,我想到的是: df.reindex(range(length)...