Day6
-
习题 36: 设计和调试
If 语句的规则
1. 每一个“if 语句”必须包含一个 else.
2. 如果这个 else 永远都不应该被执行到,因为它本身没有任何意义,那你必须在
else 语句后面使用一个叫做 die 的函数,让它打印出错误信息并且死给你看,这
和上一节的习题类似,这样你可以找到很多的错误。
3. “if 语句”的嵌套不要超过 2 层,最好尽量保持只有 1 层。 这意味着如果你在 if 里
边又有了一个 if,那你就需要把第二个 if 移到另一个函数里面。
4. 将“if 语句”当做段落来对待,其中的每一个 if, elif, else 组合就跟一个段落
的句子组合一样。在这种组合的最前面和最后面留一个空行以作区分。
5. 你的布尔测试应该很简单,如果它们很复杂的话,你需要将它们的运算事先放到一
个 变量里,并且为变量取一个好名字。
最好的调试程序的方法是使用 print 在各个你想要检查的关键环节将关键变量打
印出来,从而检查哪里是否有错。
让程序一部分一部分地运行起来。不要等一个很长的脚本写完后才去运行它。写一
点,运行一点,再修改一点。
-
习题 39: 列表的操作
1 ten_things="Apple Orange Crows Telephone Light Sugar" 2 3 print("Wait there's not 10 things in that list, let's fix that") 4 5 stuff = ten_things.split(' ')#以空格为分隔符(分隔符左右用引号包围),将字符串拆分成元素组成列表 6 7 more_stuff = ["Day", "Night", "Song", "Frisbee", "Corn", "Banana", "Gril", "Boy"] 8 9 while len(stuff) != 10: 10 next_one = more_stuff.pop()#pop函数用于删除并返回列表最后一个元素 11 print("Adding: ", next_one) 12 stuff.append(next_one)#append函数用于加入新元素 13 print("There's %d items now." % len(stuff)) 14 15 print("There we go: ", stuff) 16 17 print("Let's do some things with stuff.") 18 19 print(stuff[1])#列表计数是从0开始,所以这里打印第二个元素 20 print(stuff[-1])#负数则是从零往后倒着数 21 print(stuff.pop())#pop,返回并删除最后一个元素 22 print(' '.join(stuff))#将列表中元素以指定的分隔符如'空格'相连接,生成一个新的字符串 23 print('#'.join(stuff[3:5]))#将stuff[3]和stuff[5]用#号连接成一个字符串
运行结果:
Wait there's not 10 things in that list, let's fix that Adding: Boy There's 7 items now. Adding: Gril There's 8 items now. Adding: Banana There's 9 items now. Adding: Corn There's 10 items now. There we go: ['Apple', 'Orange', 'Crows', 'Telephone', 'Light', 'Sugar', 'Boy', 'Gril', 'Banana', 'Corn'] Let's do some things with stuff. Orange Corn Corn Apple Orange Crows Telephone Light Sugar Boy Gril Banana Telephone#Light