Python学习笔记之While循环用法分析

yipeiwu_com7年前Python基础

本文实例讲述了Python学习笔记之While循环用法。分享给大家供大家参考,具体如下:

前面一篇《Python学习笔记之For循环用法》详细介绍了Python for循环,这里再来讲述一下while循环的使用方法:

Python 中的While循环

For 循环是一种有限迭代,意味着循环主体将运行预定义的次数。这与无限迭代循环不同,无限迭代循环是指循环重复未知次数,并在满足某个条件时结束,while 循环正是这种情况。下面是一个 while 循环的示例:

card_deck = [4, 11, 8, 5, 13, 2, 8, 10]
hand = []
# adds the last element of the card_deck list to the hand list
# until the values in hand add up to 17 or more
while sum(hand) <= 17:
  hand.append(card_deck.pop())

测试:

print(hand)

得到:

[10, 8]

这个示例包含两个函数。sum 返回列表中的元素之和,pop 是一个列表方法,它会从列表中删除最后一个元素并返回该元素。

While 循环的组成部分:

  • 第一行以关键字 while 开始,表示这是一个 while 循环。
  • 然后是要检查的条件。在此示例中是 sum(hand) <= 17
  • while 循环头部始终以冒号 : 结束。
  • 该头部之后的缩进部分是 while 循环的主体。如果 while 循环的条件为 true,该循环的主体将被执行。每次运行循环主体时,条件将被重新评估。这个检查条件然后运行循环的流程将重复,直到该表达式变成 False
  • 注意: 循环的缩进主体应该至少修改测试表达式中的一个变量。如果测试表达式的值始终不变,就会变成无限循环!

Python 中的While循环[相关练习]

写一个 while 循环,用于计算比整数 limit 小的最大平方数,并将其存储在变量 nearest_square 中。平方数是整数乘以自己后的积,例如 36 是一个平方数,因为它等于 6*6。例如,如果 limit 是 40,你的代码应该将 nearest_square 设为 36。

解决方案:

limit = 40
num = 0
# write your while loop here
while (num+1)**2 < limit:
  num += 1
nearest_square = num**2
print(nearest_square)

运行结果:

36

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python 解压pkl文件的方法

如下所示: import pickle with open(filename, 'rb') as f: datadict = pickle.load(f, encoding='la...

Python实现识别手写数字大纲

写在前面 其实我之前写过一个简单的识别手写数字的程序,但是因为逻辑比较简单,而且要求比较严苛,是在50x50大小像素的白底图上手写黑色数字,并且给的训练材料也不够多,导致准确率只能五五开...

Python的CGIHTTPServer交互实现详解

Python的CGIHTTPServer交互实现详解

介绍 对于服务器后端开发者而言,有时候需要把自己的一些服务直接暴露给PM或者其他RD使用,这个时候需要搭建一套web服务可以和前端用户做简单交互,按照最常规的做法,一般是用Apache或...

使用Python脚本生成随机IP的简单方法

需求 在某应用中,需要根据一定的规则生成随机的IP地址,规则类似于192.168.11.0/24这样的CIDR形式给出。 实现 经过艰苦卓绝的调试,下面的代码是可以用的: RAND...

python scipy求解非线性方程的方法(fsolve/root)

python scipy求解非线性方程的方法(fsolve/root)

使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单 from scipy.integrate import o...