目录
前言
Python 支持for循环,它的语法与其他语言(如JavaScript 或Java)稍有不同。下面的代码块演示如何在Python 中使用for循环来遍历列表中的元素:
上述的代码段是将三个字母分行打印的。你可以通过在print语句的后面添加逗号“,”将输出限制在同一行显示(如果指定打印的字符很多,则会“换行”),代码如下所示:
当你希望通过一行而不是多行显示文本中的内容时,可以使用上述形式的代码。Python 还提供了内置函数reversed(),它可以反转循环的方向,例如:
注意,只有当对象的大小是确定的,或者对象实现了_reversed_()方法的时候反向遍历的功能才有效。
01 使用tryexcept的for循环
清单1 的StringToNums.py说明了如何对一组从字符串转换而来的整数求和。
-
清单1 StringToNums.py
line = '1 2 3 4 10e abc'
sum = 0
invalidStr = ""
print('String of numbers:',line)
for str in line.split(" "):
try:
sum = sum + eval(str)
except:
invalidStr = invalidStr + str + ' '
print('sum:', sum)
if(invalidStr != ""):
print('Invalid strings:',invalidStr)
else:
print('All substrings are valid numbers')
清单1 首先初始化变量line、sum和invalidStr,然后显示line的内容。接下来将line中的内容分割为单词,然后通过try代码块逐个将单词的数值累加到变量sum 中。如果发生异常,则将当前str的内容追加到变量invalidStr。
当循环执行结束,清单1 打印出数值单词的和,并在后面显示非数值单词。它的输出如下所示:
02 指数运算
清单2 的Nth_exponet.py说明了如何计算一组整数的幂。
-
清单2 Nth_exponet.py
maxPower = 4
maxCount = 4
def pwr(num):
prod = 1
for n in range(1,maxPower+1):
prod = prod*num
print(num,'to the power',n, 'equals',prod)
print('-----------')
for num in range(1,maxCount+1):
pwr(num)
清单2 中有一个pwr()函数,其参数为一个数值。此函数中的循环可打印出参数的1 到n次方,n的取值范围在1到maxCount+1之间。
代码的第二部分通过一个for循环调用pwr(