学习python的第十七天

来源:互联网 发布:openwrt 修改mac wifi 编辑:程序博客网 时间:2024/06/05 15:25

循环和列表

书中写道:

现在你应该有能力写更有趣的程序出来了。如果你能一直跟得上,你应该已经看出将“if语句”和“布尔表达”结合起来可以让程序作出一些智能化的事情。

是时候停下学习新知的步伐,开始复习之前学习过的知识,虽然有些部分比较简单,有些部分还是不容易理解。

这节学习for-loopfor循环)创建各种各样的列表。不过在使用for循环之前,需要在某个位置存放循环的结果,最好的方法是使用列表(list)。意思就是一个有固定顺序存放东西的容器,需要学习一点新的语法。

练习部分

hairs = ['brown', 'blond', 'red']eyes = ['brown', 'blue', 'green']weights = [1, 2, 3, 4]

列表或许可以理解为就和函数的参数一样,Pyhton接收这个列表以及里边所有的内容,将其赋值给一个变量。我们接下来需要使用循环创建一些列表,然后打印。

练习部分

the_count = [1, 2, 3, 4, 5]fruits = ['apples', 'oranges', 'pears', 'apricots']change = [1, 'pennies', 2, 'dimes', 3, 'quarters']for number in the_count:    print "This is count %d" % numberfor fruit in fruits:    print "A fruit of type: %s" % fruitfor i in change:    print "I got %r" % ielements = []for i in range(0, 6):    print "Adding %d to the list." % i    elements.append(i)for i in elements:    print "Element was: %d" % i

加分习题

1.我认为range就相当于一个范围,一般从0开始。
2.你可以可以直接将 elements赋值为 range(0,6),而无需使用 for循环?至于为什么现在我还不能解释不清楚,不过一定和elements.append(i)这一句命令有关。

While循环

While-loopwhile循环)会一直执行它下面的代码片段,直到它对应的布尔表达式为False才会停下来。while循环的作用和if语句有些类似,检查一个布尔表达式的真假,不一样的地方在于while下面的代码片段不是只执行一次,而是执行完之后再调回到while所在的位置,重复进行,直到while的表达式为False为止。为了避免while循环永不结束,使用时需要遵循下面的规定:

  1. 尽量少用 while-loop ,大部分时候 for-loop 是更好的选择。
  2. 重复检查你的 while 语句,确定你测试的布尔表达式最终会变成 False
  3. 如果不确定,就在 while-loop 的结尾打印出你要测试的值。看看它的变化。

练习部分

i = 0number = []while i < 6:    print "At the top i is %d" % i    number.append(i)    i = i + 1    print "Nmubers now: ",number    print "At the bottom i is %d" % iprint "The numbers: "for num in number:    print numprint number

加分习题

1.将这个 while循环改成一个函数,将测试条件( i < 6 )中的 6 换成一个变量。
i = 0number = []nu = raw_input("Please enter the number: ")nu = int(nu)while i < nu:    print "At the top i is %d" % i    number.append(i)    i = i + 1    print "Nmubers now: ",number    print "At the bottom i is %d" % iprint "The numbers: "for num in number:    print numprint number

注意的是要给变量nu改为整数字符,要不然运行起来可是没完没了。

2.使用 for-loop 和 range 把这个脚本再写一遍。
i = 0nu = raw_input("Please enter the number: ")nu = int(nu)print "The numbers: "for num in range(i,nu):    print num

很有可能你会碰到程序跑着停不下来了,这时你只要按着 CTRL 再敲 c (CTRL-c),这样程序就会中断下来了。

0 0
原创粉丝点击